0

我一直在测试我之前制作的一个简单(HTML5/jQuery)应用程序,其中用户在文本框中输入消息,当单击按钮时,此消息被视为警报。问题是每次我单击该按钮时, data-click 属性似乎会触发两次,因为消息会被警告两次。

我目前正在使用 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>
4

3 回答 3

1

在使用 Kendo UI for MVC 时,我也发生了同样的事情。在 Kendo 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 提交它。

于 2014-10-16T15:58:52.390 回答
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>

你能粘贴你的代码吗?这样我们就可以调试了吗?

于 2013-01-03T10:04:13.420 回答
0

我意识到这是一个老问题,但只是为了在有人来找答案时得到答案。我遇到了同样的问题,在我的函数中返回 false 为我解决了这个问题。

于 2013-08-27T14:14:33.143 回答