2011-09-02 12 views
0

基本上我有這樣的:在ASP中輸入:文本框單擊我的按鈕(上綁定了一個js函數)

<asp:TextBox runat='server' /> 
<button id='b2'>hi</button> 

<script> 
$('#b2').click(function(e){ 
e.preventDefault(); 
alert('you clicked the button'); 

}); 
</script> 

的問題是,當敲文本框裏面的B2中輸入點擊事件發生,所以我得到執行js函數,任何人都知道如何阻止這個?

回答

0

按住return/enter鍵同時對焦文本框的方式與點擊提交按鈕的方式相同。你可以做的是將keypress事件處理程序附加到表單中的所有文本框,並簡單地忽略返回鍵按下。

代碼如下所示:

$('input[type="text"]').keypress(function(event) { 
     if(event.keyCode == 13) { 
      event.preventDefault(); 
      alert("enter!"); 
     } 
    }); 

請注意,我不使用ASP,所以我用一個標準的HTML文本框測試,這和提交按鈕。

+0

(約剛刪除的答案)e.target總是HtmlButtonElement,但e.clientX和e.clientY是0和0的調用時在文本框中輸入...也screenX和screenY和其他很多東西是0(我在鉻的螢火蟲看到這個),可能我可以使用 – Omu

0

添加屬性type="button"button標籤停止這種行爲O_O

相關問題