1

我有一个 div 元素在运行模式下由 javascript 生成我想首先单击显示确认消息,然后单击删除单击事件但死或取消绑定不起作用!

$('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');
});
4

2 回答 2

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. 如果您希望脚本自动将点击事件添加到生成的元素,只需将类添加到生成的元素(例如),并在 JavaScript 的最顶部mybutton使用此代码一次$("body").on("click", "div.mybutton", function(e) { ... });: .

于 2012-04-27T23:17:58.563 回答
0

考虑在这样的单独函数中创建处理程序回调

var Div_Click = function(e) {
    // code for this handler
};

所以很容易绑定和解绑

$("div").bind("click", Div_Click); // or "live" or "on"
$("div").unbind("click", Div_Click);
于 2012-04-27T23:20:10.160 回答