2010-12-01 133 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輸入只讀使用屬性。

希望這有助於。

相關問題