相关疑难解决方法(0)

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

我有一个<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万
查看次数

Jquery事件不适用于动态追加的元素

我正在尝试将新DOM对象附加到某个Div并且它可以工作,但不知何故 - 我为这些新附加对象编写的事件没有响应.这是为什么?

我在这里附上一个简单的例子:点击段落应该隐藏的任何段落.然而,对于使用.append添加的段落,它不起作用.

http://jsfiddle.net/xV3HN/

有我的代码:

$(document).ready(function(){

$("#add").click(function(){
     $("#containerDiv").append("<p> I should hide as well if you click me </p>");
  });

 $("p").click(function(){
     $(this).hide();
  });

});
Run Code Online (Sandbox Code Playgroud)

javascript jquery

13
推荐指数
2
解决办法
8505
查看次数

标签 统计

javascript ×2

jquery ×2