我正在使用jquery UI可排序,但是当用户单击选项卡时,我通过从外部文件加载元素列表来填充可排序列表。加载列表项后,我会为每个项添加一个复选框。该复选框显示,但单击它不会触发警报。但是,放在li
元素之外的复选框工作正常 - 这使我相信存在某种与jquery sortable的不兼容性,nedds已解决:
使用Javascript:
window.onload = function () {
$('input:checkbox').change(function () { // detects when user clicks on a checkbox
alert("You click a checkbox");
});
var a = document.getElementById("fvsortid"); // loads slides when user clicks tab
a.onclick = function () {
$("#sortable").load("file.xml");
$("#sortable").load("file.xml", function () {
$('<input type="checkbox"/>').prependTo('#sortable li');
});
};
};
答案 0 :(得分:2)
尝试委派活动
$('#sortable').on('change' , 'input:checkbox' ,function() {
alert("You click a checkbox");
});
事件似乎没有触发,因为当事件处理程序与它相关联时,DOM中不存在该元素。将事件委派给静态父项应该是您的问题..
答案 1 :(得分:0)
您需要使用.on()函数将事件处理程序指向呈现后的复选框。
举个例子,
$('input').on("click", function(event){
alert($(this).text());
});
以下是关于这个主题的一些阅读:http://api.jquery.com/on/