2014-05-19 66 views
1

我試圖在點擊禁用的按鈕時發出提醒,以下代碼在Chrome中正常工作,但未在Firefox中觸發提醒。禁用的按鈕上的火警無法在Firefox上工作

的Javascript:

$(document).on('click',function(e){ 
    if(e.target.id == "disabled" && e.target.disabled){ 
     alert("The textbox is clicked."); 
    } 
}); 

HTML:

<form> 
    <input id="disabled" type="button" value="clk" disabled> 
</form> 
+0

我的壞..它確實工作 – asprin

+0

@asprin:任何解決方案? – codemania

+0

http://jsfiddle.net/7Y3cJ/是你在找什麼? –

回答

1

試試這個:這是在Firefox版本28.0的工作,這裏是截圖screenshot

<form> 
<input id="disabled" type="button" value="clk" disabled> 
</form> 

的jQuery:

$(document).on('click',function(e){ 

    var isDisabled = $('#disabled').prop('disabled'); 

    if (isDisabled) 
    { 
      alert('yes'); 
    } 
    else 
    { 
     alert('no'); 
    }  

}); 

FIDDLE

你也不能有一個鼠標事件,如點擊禁用元素。替代你可以這樣做:FIDDLE DEMO

+0

這對我有幫助.. – codemania

0

的Firefox,也許還有其他的瀏覽器,禁用被禁用的表單字段DOM事件。從禁用表單字段開始的任何事件都會被完全取消,並且不會向上傳播DOM樹。糾正我,如果我錯了,但如果你點擊禁用按鈕,事件的來源是禁用按鈕和點擊事件被徹底消滅。瀏覽器從字面上不知道被點擊的按鈕,也沒有通過點擊事件。就好像你正在點擊網頁上的黑洞。

來源:Disabled button stealing onclick events in firefox

我創建這個小提琴fiddle根據@VDesign崗位是指舊的問題。

HTML:

<div style="display:inline-block; position:relative;"> 
    <input id="disabled" type="button" value="clk" disabled> 
    <div style="position:absolute; left:0; right:0; top:0; bottom:0;"></div> 
</div> 

JS:

$("div > div").click(function (evt) { 
    $(this).hide().prev("input[disabled]").prop("disabled", false).focus(); 
}); 
0

針對此問題可能的解決辦法:

評論Event on a disabled input

配售一個圍繞你的禁用按鈕的div並在div上附加一個onclick事件將會起到作用。

+0

儘管這個鏈接可能回答這個問題,但最好在這裏包含答案的基本部分,並提供參考鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 – Howli

相關問題