我想捕捉的TAB按鍵,取消默認的動作,並打電話給我自己的javascript函數內的TAB按鍵。的jQuery:如何捕獲一個文本框
回答
編輯:因爲你的元素動態插入,你必須使用delegated on()
在你的榜樣,但你應該把它綁定到keydown事件,因爲@Marc評論,在IE瀏覽器的按鍵事件沒有按不捕獲非字符密鑰:
$("#parentOfTextbox").on('keydown', '#textbox', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) {
e.preventDefault();
// call custom function here
}
});
檢查示例here。 jQuery的1.9
$('#textbox').live('keypress', function(e) {
if (e.keyCode === 9) {
e.preventDefault();
// do work
}
});
此外,取消默認操作,使用e.preventDefault();在函數的第一行。 – 2009-08-21 22:26:34
在IE6 + – 2009-08-21 22:33:24
@喬恩這不是爲我工作,按鍵不捕獲非字符鍵在IE – Marc 2009-08-21 22:34:56
工作例如:
$('body').on('keydown', '#textbox', function(e) {
if (e.which == 9) {
e.preventDefault();
// do your code
}
});
make'e.preventDefault();'double來防止在文本框中插入空格。 – stil 2013-05-27 14:29:13
上述所示的方法並沒有爲我工作,可我用有點老了jQuery的,然後最後如下圖所示的代碼片段工程 - 以防萬一發佈有人在我的同一位置
$('#textBox').live('keydown', function(e) {
if (e.keyCode == 9) {
e.preventDefault();
alert('tab');
}
});
使用密鑰下來標籤是知道標籤總是試圖做一些事情已經,不要忘記在年底「返回false」的一個重要組成部分。
這是我做的。我有一個運行在.blur上的函數和一個交換表單焦點位置的函數。基本上,它將輸入添加到窗體的末尾,並在模糊運行時進行。
$(this).children('input[type=text]').blur(timeEntered).keydown(function (e) {
var code = e.keyCode || e.which;
if (code == "9") {
window.tabPressed = true;
// Here is the external function you want to call, let your external
// function handle all your custom code, then return false to
// prevent the tab button from doing whatever it would naturally do.
focusShift($(this));
return false;
} else {
window.tabPressed = false;
}
// This is the code i want to execute, it might be different than yours
function focusShift(trigger) {
var focalPoint = false;
if (tabPressed == true) {
console.log($(trigger).parents("td").next("td"));
focalPoint = $(trigger).parents("td").next("td");
}
if (focalPoint) {
$(focalPoint).trigger("click");
}
}
});
試試這個:
$('#contra').focusout(function(){
$('#btnPassword').focus();
});
假設你有文本框的ID爲txtName的
$("[id*=txtName]").on('keydown', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) {
e.preventDefault();
alert('Tab Pressed');
}
});
- 1. 使用jquery的文本框文本捕獲總是'後面的一個字符'
- 2. 如何在KeyDown事件期間捕獲文本框的文本?
- 3. UIAlertView文本框捕獲onchange
- 4. 如何捕獲多個文本塊
- 5. 捕獲按Ctrl-X一個文本框的WPF
- 6. 如何獲得使用jQuery在另一個單獨的文本框中添加多個文本框的值?
- 7. Jquery/Javascript使用另一個文本框的ID獲取文本框的ID
- 8. 如何清空一個文本框,文本區域jQuery中
- 9. jQuery - 捕獲創建動態創建的文本框的事件
- 10. 在文本框中定義OnChange時捕獲文本框的值
- 11. 如何捕獲丟棄項目內的文本框的值
- 12. 捕獲所有文本框的焦點事件 - jQuery
- 13. 如何獲得jQuery文本框ID的一部分
- 14. jquery捕獲選定ID的文本
- 15. 用jQuery捕獲textarea的文本值
- 16. jQuery的:如何確定一個或多個文本框爲空
- 17. 如何在jQuery中獲取兩個動態文本框的值
- 18. 如何使用jquery獲取多個文本框的值?
- 19. 捕獲多個文本。
- 20. 如何捕獲文本框中的光標位置?
- 21. 如何捕獲「@」和「#」鍵按下 - Silverlight的文本框KeyUp事件
- 22. 如何捕獲文本框的值並將其用作變量?
- 23. c#如何捕獲文本框外的鼠標事件
- 24. 如何捕獲文本框的按鍵事件?
- 25. 如何在文本框中捕獲丟失的焦點?
- 26. 如何從一個文本框獲得價值到另一個
- 27. JavaScript:使用一個文本框作爲循環的基礎來捕獲第二個文本框中的值?
- 28. JQuery AJAX更新另一個文本框上的文本框textchanged
- 29. 如何獲取文本框的文本?
- 30. 如何使用JQuery捕獲用戶輸入的文本?
在IE8這不是爲我工作= \ – 2009-08-21 22:49:32
當我按下TAB在IE6 +事件不火(它觸發的任何字母數字鍵雖然)...我需要使用.live(「按鍵」,FN) – 2009-08-21 22:55:03
如果只適用於直播,也許你動態地插入你的文本框元素,如果該元素已經在頁面上,它將工作,請檢查此示例:http://jsbin.com/guhe – CMS 2009-08-21 23:01:11