在有限的时间内暂时禁用元素/图像的实时点击

时间:2013-11-27 13:16:09

标签: javascript jquery html

我有一个jquery .live("click")函数用于点击图片,文字框将变为可编辑状态。

现在,当我点击某个按钮(比如检查)时,我想禁用图像的实时点击。

我不想隐藏图片。

我尝试过设置

$("#contact_no_edit_img, #email_edit_img")
    .attr("disabled", "disabled")
    .css("opacity","0.5");

但实时点击仍适用于该图片

除了隐藏图像或使用临时变量检测并允许实时点击之外,还有其他方法吗?!

注意:我不想将其更改为.on,因为它需要我们重新编码整个项目!

5 个答案:

答案 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 );
相关问题