2012-12-26 115 views
0

我一直在測試一個簡單的(HTML5/jQuery)應用程序,我之前在用戶在文本框中輸入一條消息並在點擊一個按鈕時查看該消息作爲警報。 問題是,每次我單擊該按鈕時,數據單擊屬性似乎都會在消息被警告兩次時觸發兩次。Kendo UI手機按鈕點擊數據點擊兩次

我目前正在使用Kendo UI版本2012.3.1114以及jQuery 1.8.2 **我也嘗試過使用jQuery 1.8.3並得到了相同的結果,但是當使用舊版本的Kendo時,正常工作

有人可以幫我嗎?

更新: 這裏是我的代碼 **順便說一句,我用波紋模擬器來測試這個程序,甚至與同樣的結果嘗試了在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> 
+0

製作一個測試頁面,只需一個可點擊的元素和一個警報即可。它的行爲是否正確?如果不是,則懷疑設備。否則,逐步建立頁面直到它破裂。無論你最後添加什麼都是罪魁禍首。診斷完成。現在想想解決辦法。 –

+0

我一直在使用KendoUI Mobile很長一段時間,如果您不使用數據綁定數據單擊,通常會發生鬼點擊。 我測試了你的代碼,它正常工作。 鏈接:http://jsfiddle.net/JSLHQ/1/ 請提供有關如何重現問題的更多詳細信息,例如設備或瀏覽器版本。 –

回答

0

我剛剛創建了一個簡單的移動網頁。添加一個文本框和按鈕。點擊按鈕,點擊進行文本框內容的提醒。我沒有兩次得到警報。看看下面的代碼:

<!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> 

你可以粘貼你的代碼 - 這樣我們可以調試嗎?

0

我意識到這是一個古老的問題,但只是爲了在有人來找時找到答案。我遇到了同樣的問題,並在我的函數中返回false來爲我解決它。

1

我使用Kendo UI進行MVC時發生了同樣的事情。 在劍道UI按鈕定義我:

@(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來提交它,如果每次驗證都進入低谷。