我在解僱vclick(或點擊)事件時遇到了問題。jQuery Mobile vclick發射了兩次
這是我的html代碼:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
<title>Document</title>
<link rel="stylesheet" href="css/jquery.mobile-1.3.1.css">
<link rel="stylesheet" href="css/estilo.css">
<script src="js/cordova-2.6.0.js"></script>
<script src="js/jquery-2.0.0.js"></script>
<script src="js/functions.js"></script>
<script src="js/jquery.mobile-1.3.1.js"></script>
</head>
<body>
<div data-role="page" id="page">
<div data-role="header" position="fixed">
<h1>Data</h1>
</div>
<div data-role="content">
<div id="btn_comentar">
<a href="#page4"></a>
</div>
</div>
</div>
</body>
</html>
這是我functions.js
$(document).bind("mobileinit", function(){
$(document).bind("pageinit",function(){
$("#btn_comentar").bind("vclick",function(e){
console.log(e.isDefaultPrevented());
console.log(e.result);
console.log(e.relatedTarget);
alert("buttooon");
list_comments();
});
});
}
當我點擊我的#btn_comentar,我想從功能list_comments檢索數據(發送通過ajax)是重複的;我意識到它發送了兩次,最後這是我點擊我的按鈕時的情況。
這是從控制檯輸出(兩次): 假 未定義 空
並且還警告消息框(兩次)「buttoon」;
我試圖像一些解決方案:
jQuery Mobile : replace click event by vclick event
但沒有成功,請需要一些幫助
這是我的新代碼,它現在是如何工作的,但似乎沒有jQuery Mobile的默認配置
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
<title>Document</title>
<link rel="stylesheet" href="css/jquery.mobile-1.3.1.css">
<link rel="stylesheet" href="css/estilo.css">
<script src="js/cordova-2.6.0.js"></script>
<script src="js/jquery-2.0.0.js"></script>
<script src="js/custom-mobile.js"></script>
<script src="js/jquery.mobile-1.3.1.js"></script>
<script src="js/functions.js"></script>
</head>
<body>
<div data-role="page" id="page">
<div data-role="header" position="fixed">
<h1>Data</h1>
</div>
<div data-role="content">
<div id="btn_comentar">
<a href="#page4"></a>
</div>
</div>
</div>
</body>
</html>
custom-mobile.js
$(document).bind("mobileinit", function(){
//$.mobile.allowCrossDomainPages = true;
});
functions.js
$(document).on("ready",function(){
$("#btn_comentar").bind("vclick",function(){
list_comments();
});
});
刪除'mobileinit'綁定。你也可以刪除'pageinit',只保留'vclick'的綁定。使用'.on'而不是'.bind'。 – Omar
男人把你的整個HTML代碼和一切,所以我可以看到你是如何構造你的HTML和div – abdu
@Omar謝謝,但不是那樣工作 – jagudel