0

ユーザーがテキスト ボックスにメッセージを入力し、ボタンをクリックすると、このメッセージがアラートとして表示される、以前に作成した単純な (HTML5/jQuery) アプリケーションをテストしてきました。問題は、そのボタンをクリックするたびに、メッセージが 2 回アラートされるため、data-click 属性が 2 回起動しているように見えることです。

現在、jQuery 1.8.2 とともに Kendo UI バージョン 2012.3.1114 を使用しています **jQuery 1.8.3 でも試してみましたが、同じ結果が得られましたが、古いリリースの Kendo を使用するとすべて正常に動作します

誰か助けてくれませんか?!!!!

更新: ここに私のコードがあります **btw リップル エミュレーターを使用してこのアプリをテストしていますが、iPad でも同じ結果が得られました

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script src="js/jquery.min.js"></script>
    <script src="js/kendo.all.min.js"></script>
    <link href="styles/kendo.common.min.css" rel="stylesheet" />
    <link href="styles/kendo.default.min.css" rel="stylesheet" />   
    <link href="styles/kendo.mobile.all.min.css" rel="stylesheet" />
</head>
<body>
<div data-role="view" id="mainView">
    <br/>
    <center><a data-role="button" data-click="showAlert">Click Me</a></center>
    <br/>
</div>
<script>
    function showAlert(){
        alert("Clicked!!!");
    }
</script>
<script>
    var app = new kendo.mobile.Application(document.body);
</script>
</body>
</html>
4

3 に答える 3

1

Kendo UI for MVC を使用すると、同じことが起こりました。Kendo UI Button Definition 内には、次のものがあります。

 @(Html.Kendo().Button().Name("showFirstGraphButton")
 .Tag("button")
 .Content("Submit Selection")
 .HtmlAttributes(new { id = "showFirstGraphButton" })
 .Events(ev => ev.Click("showFirstGraphButtonOnClick")))

そして、私が書いたイベントハンドラー関数内。

function showFirstGraphButtonOnClick(e) {
e.preventDefault();
e.event.preventDefault(); 
.....  
}

そして、それは私にとってはうまくいきました.フォームを検証し、すべての検証がうまくいかなかった場合は、jqueryを使用してフォームを送信しました.

于 2014-10-16T15:58:52.390 に答える
0

簡単なモバイルページを作成しました。テキストボックスとボタンを追加します。ボタンをクリックすると、テキストボックスの内容を警告します。アラートを2回受け取りませんでした。以下のコードをご覧ください。

<!DOCTYPE html>
<html>
<head>
    <title>Events</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" >
    <script src="../../../js/jquery.min.js"></script>
    <script src="../../../js/kendo.mobile.min.js"></script>
    <script src="../../content/shared/js/console.js"></script>
    <link href="../../../styles/kendo.common.min.css" rel="stylesheet" />
    <link href="../../../styles/kendo.mobile.all.min.css" rel="stylesheet" />
</head>
<body>
    <a href="../index.html">Back</a>
    <div data-role="view" id="button-events" data-title="Button Events">
        <input id="txtMessage" style="display: block; margin: 2em; text-align: center;width:280px"/>
        <a id="mobile-button3" data-click="showAlert" data-role="button" style="display: block; margin: 2em; text-align: center;">Show Alert</a>
    </div>
    <script>
        function showAlert(e) 
        {
            alert($("#txtMessage").val())
        }
    </script>
    <script>
        window.kendoMobileApplication = new kendo.mobile.Application(document.body);
    </script>
</body>
</html>

コードを貼り付けて、デバッグできるようにしてください。

于 2013-01-03T10:04:13.420 に答える
0

これは古い質問だと思いますが、誰かが見に来たときに答えを得るためだけです。私はこれと同じ問題に遭遇し、関数で false を返すことで解決しました。

于 2013-08-27T14:14:33.143 に答える