相关疑难解决方法(0)

动态创建元素的事件绑定?

我有一些代码,我循环遍历页面上的所有选择框,并将.hover事件绑定到它们,以便在它们的宽度上做一些麻烦mouse on/off.

这发生在页面准备就绪并且工作得很好.

我遇到的问题是,我在初始循环后通过Ajax或DOM添加的任何选择框都不会受到事件限制.

我找到了这个插件(jQuery Live Query Plugin),但在我用插件添加另外5k到我的页面之前,我想知道是否有人知道这样做的方法,无论是直接使用jQuery还是通过其他选项.

javascript jquery events unobtrusive-javascript

1677
推荐指数
21
解决办法
79万
查看次数

jQuery的replaceWith()和html()有什么区别?

当HTML作为参数传入时,jQuery的replaceWith()和html()函数有什么区别?

jquery

144
推荐指数
3
解决办法
7万
查看次数

由动态生成的元素触发的事件不会被事件处理程序捕获

我有一个<div>使用id="modal"jQuery load()方法动态生成的:

$('#modal').load('handlers/word.edit.php');
Run Code Online (Sandbox Code Playgroud)

word.edit.php包含一些输入元素,它们被加载到一个模态中<div>.

使用jQuery的keyup方法我可以在事件触发后捕获输入值,但是当元素被动态添加到模态div时,当用户输入文本时,事件不会激活.

哪个jQuery方法支持处理由动态创建的元素触发的事件?

用于创建新输入元素的代码是:

$('#add').click(function() {
    $('<input id="'+i+'" type="text" name="translations' + i + '"  />')
      .appendTo('#modal');
Run Code Online (Sandbox Code Playgroud)

捕获用户值的代码是:

$('input').keyup(function() {
    handler = $(this).val();
    name = $(this).attr('name');
Run Code Online (Sandbox Code Playgroud)

第二个代码块似乎适用于原始元素,但新动态生成的元素不会触发它.

javascript jquery

51
推荐指数
2
解决办法
2万
查看次数