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

标签 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");
        }

        });

    });

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

最佳答案

你需要委托(delegate):

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

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

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

PS:重要说明 - 您需要指定要将处理程序绑定(bind)到的元素尽可能接近目标元素。在您的情况下,它是 #ToDoList,而不是 bodydocument 作为其他答案建议。

关于javascript - JQuery .on ("click", function() ) 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19192376/

相关文章:

Javascript 表刷新没有 jquery

javascript - 从响应模式(+/-)更改为标准模式(无+/-)时,第一列消失

javascript - 通过表单提交 JSON 通过 jquery 提交

jquery - 隐藏 Select2 选项

javascript - JQuery View 中的 item.ID

javascript - jQuery 流畅的鼠标跟踪

jquery - 我们可以将 mysql 与 node.js 一起使用吗

javascript - SinonJS 假计时器不适用于 QUnit

javascript - 如何正确使用带有异步函数的 Promise.all() 和 then()?

javascript - 如何在我们的应用程序中使用此 sencha 触摸图像?