如何讓用戶點擊輸入時觸發表單,但僅當該字段處於焦點時才能觸發表單?這是我現在所擁有的,但按下輸入任何地方(顯然)觸發形式。將jquery keybind隔離爲單個焦點元素
jQuery(window).bind('keypress', function(e){
if (e.keyCode == 13) {
jQuery("#goform").click();
e.preventDefault();
}
});
如何讓用戶點擊輸入時觸發表單,但僅當該字段處於焦點時才能觸發表單?這是我現在所擁有的,但按下輸入任何地方(顯然)觸發形式。將jquery keybind隔離爲單個焦點元素
jQuery(window).bind('keypress', function(e){
if (e.keyCode == 13) {
jQuery("#goform").click();
e.preventDefault();
}
});
嘗試把.bind的元素,而不是整個窗口:
jQuery('#elementID').bind('keypress', function(e){
if (e.keyCode == 13) {
jQuery("#goform").click();
e.preventDefault();
}
});
如果您的欄ID elementID
。您可以通過名稱,標記名或使用任何其他jQuery Selector來進入該字段。的jQuery(window)
使用jQuery('#{insert-your-form-field-id}')
代替您chould使用選擇器選擇窗體元件和keypress()
方法分配給該對象:
$('#idOfFormInputElement').keypress(
function(e){
e.preventDefault();
e.stopPropagation();
if (e.keyCode == 13) {
$(this).closest('form').submit();
}
});
如果是動態添加的元素,然後delegate()
可能是用來代替:
$('#idOfFormElement').delegate('#idOfFormInputElement', 'keypress',
function(e){
e.preventDefault();
e.stopPropagation();
if (e.keyCode == 13) {
$(this).closest('form').submit();
}
});
獲得通過的'e'參數回調函數將包含的細節是什麼因素激發的 '按鍵' 事件 - 而不是`的jQuery(窗口).bind`
e.target.id
好吧,試試'的jQuery( '#elementID') .bind'? – Konerak