English 中文(简体)
仅能点击 j 在其停止工作之前的优质元素
原标题:Can only click jQuery element once before it stops working

我引用以下法典:

$("#another").click(function() {
    $( #another ).replaceWith( <a id="another" class="btn btn-primary btn-mini disabled"><i class="icon-refresh icon-white"></i>&nbsp;Loading...</a> );
    $.get( another.php , {  cycle  : i }, function(data) {
        $( tbody ).append(data);
        $("#another").replaceWith( <a id="another" class="btn btn-primary btn-mini"><i class="icon-plus icon-white"></i>&nbsp;Load another cycle</a> );
    });
    i++;
});

当我用另一人的id子点击这个元素时,它一负荷。 在一次点击之后,它又重新赢得了工作。

最佳回答

如果你把这个内容换成另一个内容,那么所有听众都将被删除。 为避免这种情况,你要么再次让听众了解新的内容。

$( #another ).bind( click , function() {
  //do something
});

或将该守则移至一项职能,并添加一个<条码><<>onclick>/code>,归属于您的内容。

onclick="my_function();"

在您的本 j中,

$( #another ).replaceWith( <a id="another" class="btn btn-primary btn-mini disabled" onclick="my_function();"><i class="icon-refresh icon-white"></i>&nbsp;Loading...</a> );
问题回答

你用一个没有活动听众的节点来取代节点。

基本上在点击之前

[#another]
    ^
    |
[clickListener]

之后,你又建造了另一个 but子(<a id=“another”类别=“btn btn-first btn-mini Disability”><i par=“icon-refresh icon-white”></i>&nbsp;Loading...</a>)。

[#another]     [#another](2)
    ^
    |
[clickListener]

之后,我们以排出的第二种方式取代另一个:

[#another]               [#another](2)
    ^
    |
[clickListener]

oh等,我的模型没有变化。 这是因为点击的听众与第一个目标(这不再明显)有联系,而可见的那个目标仍然存在。


所以说,这意味着什么? 这完全意味着你需要把会议听取者回来。 我是怎样做的。

var onClick=function(){
    $( #another ).replaceWith( <a id="another" class="btn btn-primary btn-mini disabled"><i class="icon-refresh icon-white"></i>&nbsp;Loading...</a> )
    .click(onClick); // <--- this is the important line!

    $.get( another.php , {  cycle  : i }, function(data) {
        $( tbody ).append(data);
        $("#another").replaceWith( <a id="another" class="btn btn-primary btn-mini"><i class="icon-plus icon-white"></i>&nbsp;Load another cycle</a> );
    });
    i++;
}

$("#another").click(onClick);

它最好与同一事件的手持平。 只是动态地修改案文和增删i。 引证:

// Execute in a closure to isolate all the local variables
// Optional, but I like doing this when counter variables are involved
(function() {
    var button = $("#another");
    var a = button.find("a");
    var i = 1;

    button.click(function() {
        // Replace the inner html, not the entire element
        a.html("<i class= icon-refresh icon-white </i>&nbsp;Loading...");
        $.get("another.php", {
            cycle: i
        }, function(data) {
            $("tbody").append(data);
            a.html("<i class= icon-plus icon-white ></i>&nbsp;Load another cycle");            
            i++;
        });
    });
})();

这种方法的好处是,对OM的操纵程度较低,没有线性 Java和的全球功能或变量。 确实没有理由每次销毁 but子,如果外加标记相同,则重新予以销毁。





相关问题
CSS working only in Firefox

I am trying to create a search text-field like on the Apple website. The HTML looks like this: <div class="frm-search"> <div> <input class="btn" type="image" src="http://www....

image changed but appears the same in browser

I m writing a php script to crop an image. The script overwrites the old image with the new one, but when I reload the page (which is supposed to pickup the new image) I still see the old one. ...

Firefox background image horizontal centering oddity

I am building some basic HTML code for a CMS. One of the page-related options in the CMS is "background image" and "stretch page width / height to background image width / height." so that with large ...

Separator line in ASP.NET

I d like to add a simple separator line in an aspx web form. Does anyone know how? It sounds easy enough, but still I can t manage to find how to do it.. 10x!

热门标签