मैं TAB कुंजी को कैप्चर करना चाहता हूं, डिफ़ॉल्ट कार्रवाई को रद्द करता हूं और अपने स्वयं के जावास्क्रिप्ट फ़ंक्शन को कॉल करता हूं।
मैं TAB कुंजी को कैप्चर करना चाहता हूं, डिफ़ॉल्ट कार्रवाई को रद्द करता हूं और अपने स्वयं के जावास्क्रिप्ट फ़ंक्शन को कॉल करता हूं।
जवाबों:
संपादित करें: चूंकि आपके तत्व को गतिशील रूप से डाला गया है, इसलिए आपको अपने उदाहरण के रूप में प्रत्यायोजितon() का उपयोग करना होगा, लेकिन आपको इसे कीडाउन ईवेंट में बाँधना चाहिए, क्योंकि @Marc टिप्पणियों के अनुसार, IE में कीपर ईवेंट गैर-वर्ण कुंजियों को कैप्चर नहीं करता है:
$("#parentOfTextbox").on('keydown', '#textbox', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) {
e.preventDefault();
// call custom function here
}
});
यहां एक उदाहरण देखें ।
JQuery 1.9 में काम करने का उदाहरण:
$('body').on('keydown', '#textbox', function(e) {
if (e.which == 9) {
e.preventDefault();
// do your code
}
});
e.preventDefault();व्हॉट्सएप को टेक्स्टबॉक्स में डालने से रोकने के लिए डबल बनाएं ।
$('#textbox').live('keypress', function(e) {
if (e.keyCode === 9) {
e.preventDefault();
// do work
}
});
ऊपर दिखाए गए तरीके मेरे लिए काम नहीं करते थे, हो सकता है कि मैं थोड़ा पुराने जकूज़ी का उपयोग कर रहा हूं, फिर अंत में नीचे दिखाया गया कोड स्निपेट काम करता है - बस उसी स्थिति में किसी को पोस्ट करना
$('#textBox').live('keydown', function(e) {
if (e.keyCode == 9) {
e.preventDefault();
alert('tab');
}
});
टैब पर एक कुंजी का उपयोग करने का एक महत्वपूर्ण हिस्सा यह जान रहा है कि टैब हमेशा पहले से ही कुछ करने की कोशिश करेगा, अंत में "झूठे" वापस करने के लिए मत भूलना।
मैंने जो किया था यह रहा। मेरे पास एक फ़ंक्शन है जो .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");
}
}
});
आप इस JQuery API का उपयोग करके एक ईवेंट टैब कैप्चर कर सकते हैं ।
$( "#yourInputTextId" ).keydown(function(evt) {
if(evt.key === "Tab")
//call your function
});
यह मेरे लिए काम किया:
$("[id*=txtName]").on('keydown', function(e) { var keyCode = e.keyCode || e.which; if (keyCode == 9) { e.preventDefault(); alert('Tab Pressed'); } });