我有一个通过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');
});
答案 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);