【发布时间】:2014-08-25 10:49:36
【问题描述】:
stopPropagation 不适用于我的 JQuery Mobile 移动应用程序..
我的代码:
HTML:
<ul id="tmpl">
<li>
<div class="favorite">
<label>
<input type="checkbox" name="sortList" class="checkboxGroup" data-role="none">
<i></i>
</label>
</div>
</li>
</ul>
js:
$(document).on("vclick","#tmpl li",function(){
alert("li clicked");
});
$(document).on("vclick",".favorite i",function(e){
alert("checkbox clicked");
e.stopPropagation();
});
css:
input[type="checkbox"] {
display:none;
}
input[type="checkbox"] + i:before {
content:'\e809';
color:lightgray;
font-family: "icon-font"; font-style : normal; text-shadow:none;
}
input[type="checkbox"]:checked + i:before {
content:'\e809';
color:red;
font-family: "icon-font"; font-style : normal; text-shadow:none;
}
当尝试单击复选框时,当复选框被单击时,它会立即在单击时发出警报。但是只有当我尝试单击复选框时,我才需要复选框单击警报消息。
并且还尝试使用$(document).on("vclick", ".favorite", function(e) {}) 而不是$(document).on("vclick", ".favorite i", function(e) {});
这工作正常。但是这个方法在点击时会执行两次。
你能告诉我如何解决这个问题
库
jquery-2.1.1.min.js
jquery.mobile-1.4.3.min.js
【问题讨论】:
标签: jquery html css jquery-mobile checkbox