JQuery .on("click",function())不起作用

CYC*_*616 6 javascript jquery

当我选中复选框时,我试图解雇JQuery.起初我意识到我的JQuery只适用于静态元素.我阅读了几篇文章,发现我需要.on("click,function())才能为动态添加的元素触发相同的javascript.

但是,这种方法对我来说仍然不起作用.有人可以帮忙吗?谢谢.

$(document).ready(function(){
    $("input[name='todo']").on('click', function(){
    var isChecked = this.checked
           if (isChecked == true){
          $(this).next().remove();
          $(this).remove(); 
        }
        if (isChecked == false)
        {
        alert("checkbox is NOT checked");
        }

        });

    });
Run Code Online (Sandbox Code Playgroud)

我的示例应用程序:http://jsfiddle.net/JSFoo/7sK7T/8/

zer*_*kms 11

你需要代表团:

$('#ToDoList').on('click', "input[name='todo']", function() { ... });
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/7sK7T/9/

文档:http://api.jquery.com/on/#direct-and-delegated-events

PS:重要的注意事项 - 您需要将处理程序绑定的元素指定为尽可能接近目标元素.在你的情况下,它是#ToDoList,不是body或document作为其他答案的建议.

  • 哇.我要评论"需要"是不正确的,并且"它更好"将是正确的,然后我看到你们已经有过这个问题的论点.我不会低估它,但是["need"](http://dictionary.reference.com/browse/need?s=t)这个词的意思是"要求",也就是那些_依次存在的东西它的工作原理.将处理程序放在靠近目标的元素上肯定更好,这是一个很好的建议,但这不是你需要做的事情. (4认同)