相关疑难解决方法(0)

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

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

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

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

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

javascript jquery events unobtrusive-javascript

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

事件处理程序不处理动态内容

我有一个标签A,当点击它时,它附加另一个标签B以执行点击动作B. 因此,当我点击标签B时,执行动作B. 但是,该.on方法似乎不适用于动态创建的标记B.

标签A的html和jquery如下:

<a id="address" class="add_address btn btn-inverse btn-medium pull-right push-top">Add Shipping address</a>

$('.add_address').click(function(){
    //Add another <a>
    $(document).append('<a id="address"  class="pull-right update btn btn-inverse btn-medium push-top">Update</a>');
})
Run Code Online (Sandbox Code Playgroud)

当单击标签B时,执行一些动作B. 我的jquery如下:

$('.update').on('click',function(){
  //action B
});
Run Code Online (Sandbox Code Playgroud)

我有一些非动态内容,也有类".update".在.on()上面的方法中,对于非动态内容,但不适用于动态内容.

如何使其适用于动态内容?

jquery static-content dynamic-content

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

点击事件只作用于一个元素?

我在 api.jquery.com 和我的脚本上浪费了 1 个小时来找出问题,但仍然无法解决。

这是我的script.js

// DOM ready

$(function(){

    // gets categories from server
    $.post("category.php", function(data) {
        $("#category ul").html(data);
    });

    // tests click event
    $("a").click(function(evt) {
        alert("Handler for .click() called.");
        evt.preventDefault();
    });

});
Run Code Online (Sandbox Code Playgroud)

在index.php中有4个锚标记,前三个是从服务器加载的,正如您在脚本中看到的那样,最后一个是预加载的(静态)(不是从服务器加载的)。问题是我已经在 jQuery 选择器中选择了所有锚元素,正如您在脚本中看到的那样,但我的事件仅适用于预加载的最后一个锚标记。怎么了 ?为什么该事件不适用于前三个锚标记?

jquery events

1
推荐指数
1
解决办法
2919
查看次数

焦点事件不适用于动态内容

我正在使用jQuery动态添加输入.之后我尝试使用焦点事件来生成另一个输入组.这是jsfiddle(http://jsfiddle.net/sk8UG/),下面是代码片段

HTML:

    <div class='row' id='addChild'>
    <input type='name' name='child0' id='child0'>
    <input type='name' name='phone0' id='phone0'>
    </div>
Run Code Online (Sandbox Code Playgroud)

JS:

  $(document).ready(function(){
     $("#child0").focus(function() {
         $('#addChild').append("<input type='name' name='child1' id='child1'><input type='name' name='phone1' id='phone1'>");
     });
     $("#child1").focus(function() {
         $('#addChild').append("<input type='name' name='child2' id='child2'><input type='name' name='phone2' id='phone2'>");
     });
   });
Run Code Online (Sandbox Code Playgroud)

在#child0的焦点上,它将创建#child1.但是,在#child1的焦点上,它什么也没做

html javascript jquery input

1
推荐指数
1
解决办法
1728
查看次数