jquery unbind toggle事件不起作用

时间:2012-04-27 23:07:34

标签: javascript jquery

我有一个通过javascript在runmode中生成div元素 我想先点击显示确认消息,然后点击删除点击事件 但死或不合作不起作用!

$('div').live('click',function(e) {

    $(this).toggle(function () {
            $(this).html("I'm sure!");
            return false;
        },
        function (e) {

            $(this).html("Deleting...");
            $(this).die('click').die('click');

        }).trigger('click');
});

2 个答案:

答案 0 :(得分:1)

那怎么样?

$('div').on('click',function(e) {
    e.preventDefault();
    var el = $(this);

    if (el.data("confirm")) {
        el.html("Deleting").off("click");
    } else {
        el.html("I'm sure!").data("confirm", true);
    }
});​

编辑。示例如下:http://jsfiddle.net/93nPA/

编辑2。 如果您希望脚本自动将click事件添加到生成的元素,只需将该类添加到生成的元素(例如mybutton),并在您的顶部使用此代码一次 JavaScript:$("body").on("click", "div.mybutton", function(e) { ... });

答案 1 :(得分:0)

考虑在像这个

这样的单独函数中创建处理程序回调
var Div_Click = function(e) {
    // code for this handler
};

因此很容易绑定和取消绑定

$("div").bind("click", Div_Click); // or "live" or "on"
$("div").unbind("click", Div_Click);