2010-12-01 132 views
0

我有一个ASP.NET datepicker控件(无源可用),它产生一个图像元素,点击时显示一个日历。我想通过JavaScript禁用或启用图片。当我向img元素添加'禁用'属性时,页面中的某些脚本始终处于繁忙状态,并且页面从不完成呈现。我猜想disabled属性以某种方式引起了冲突。如何禁用/启用JavaScript中的img元素的自定义点击事件

我现在接下来的尝试是禁用ASP.NET控件毫无疑问添加的自定义单击事件。如何禁用点击事件?如何重新启用它,以便img正常工作。我也使用jQuery 1.4。

+0

当您试图禁用时是否在文档准备好之后? – 2010-12-01 23:15:21

回答

0
var $img = $('img#yourid'), 
    handler = $img.get(0).onclick; // previous click handler 
// unbind 
$img.unbind('click').click(function(){ 
    alert('new click'); 
}); 
// rebind 
$img.unbind('click').click(handler); 

您可能还需要检查其他事件(mousedown mouseup等)。

0

我有一个例子在这里,这交换所有的点击事件的一个隐藏的DIV,然后再次重新启用:

http://jsfiddle.net/Jbs9V/

可能有一些快捷方式做到这一点,但这工作。同样,你可以存储的点击处理程序的全局变量,并从加载它们:

http://jsfiddle.net/8ZKJR/

0

我认为错误可能发生,因为日期选择器使用文本控件做的东西,但如果控制禁用,日期选择器不能继续,但可以使用其他属性几乎做了同样的事情,在你的标签只读使用属性:

readonly="readonly"

,你可以在你的HTML输入只读使用属性。

希望这有助于。

相关问题