我有一个jquery .live("click")
函数用于点击图片,文字框将变为可编辑状态。
现在,当我点击某个按钮(比如检查)时,我想禁用图像的实时点击。
我不想隐藏图片。
我尝试过设置
$("#contact_no_edit_img, #email_edit_img")
.attr("disabled", "disabled")
.css("opacity","0.5");
但实时点击仍适用于该图片
除了隐藏图像或使用临时变量检测并允许实时点击之外,还有其他方法吗?!
注意:我不想将其更改为.on,因为它需要我们重新编码整个项目!
答案 0 :(得分:8)
实际上你不应该再使用.live()函数了。相反,您应该使用.on("click")
和.off("click")
。你应该看到关于这个的jQuery文档:http://api.jquery.com/off/
答案 1 :(得分:2)
您可以使用die()
删除使用live()
设置的处理程序。
值得注意的是,自jQuery 1.7以来,live
及其相关函数已被弃用。您应该将on
与委托选择器一起使用。
答案 2 :(得分:1)
您需要查看.off()
(适用于动态创建的元素的.unbind()
的等价物), .die()
已被弃用且已删除,甚至.one()
,这限制了每个绑定元素的单个事件触发器。
答案 3 :(得分:1)
可以更改直播选择器吗?
$("#contact_no_edit_img:not([disabled=disabled])").live('click', function(){});
它只会处理没有禁用=“禁用”的元素
答案 4 :(得分:0)
使用die jquery禁用click事件
$( "p" ).live( "click", callback function );
// Now foo will no longer be called
$( "p" ).die( "click", callback function );