jquery - .on() 绑定(bind)在触发后不起作用 ('create' )

标签 jquery jquery-mobile

在我正在构建的 JQM (1.3.0) 应用程序中,我使用“on”将所有提交按钮绑定(bind)到单击事件,目的是现在和将来的所有提交按钮都将绑定(bind)此事件。我在 $(document).ready() 中进行这些绑定(bind),因为我认为它只需要被调用一次......永远。

我更新了 JQM panel一些内容并对该内容调用 .trigger('create') 。 应该发生的是,新创建的提交按钮在被点击时应该触发绑定(bind)的点击事件,但事实并非如此。

这是一个fiddle展示我想要实现的目标。在演示中,每当您单击提交按钮时,消息框都应显示“Clicked”...不幸的是,这只发生在第一个元素上。

$(function(){
    $('input[type="submit"]').on('click', function(e){
        $('#msg').append('<div>Clicked</div>');
        $('#panel').html('<input type="submit" value="New Button">').trigger('create');
    });
});

我在这里使用 .on() 是否不正确?我想我可以将所有绑定(bind)填充到一个函数中,然后在调用 .trigger('create') 时调用该函数...但这似乎效率低下。

最佳答案

你需要

$('#someParentElement').on('click', 'input[type="submit"]', function(e){
   //handler
});

你的方式与旧的方式相同

$('input[type="submit"]').bind('click', function(e){
   //handler
});

关于jquery - .on() 绑定(bind)在触发后不起作用 ('create' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14886992/

相关文章:

Javascript 设置一个由字符串和另一个变量连接的变量

javascript - jquery simpleweather 无法识别

javascript - 一个随机数自动附加到一个js文件

javascript - 在 jQueryMobile 中触摸后悬停效果保持不变

javascript - 使用 <canvas> 交叉淡入淡出图像时出错

javascript - selectize js - 用于多选/标记的返回键 [⏎] 分隔符

javascript - 在 Trigger.io 移动应用程序中启用缩放

javascript - 如何根据所选 ListView 项目使按钮表现不同?

javascript - 获取移动页面的比例

javascript - 数组和本地存储