एचटीएमएल कोड के इस टुकड़े को देखते हुए:
function checkTabPress(e) {
'use strict';
var ele = document.activeElement;
if (e.keyCode === 9 && ele.nodeName.toLowerCase() === 'a') {
console.log(ele.href);
}
}
document.addEventListener('keyup', function (e) {
checkTabPress(e);
}, false);
मैं keyUp
घटना के लिए document
तत्व को एक event listener बाध्य है, जो करने के लिए एक समारोह से चलाता है:
<a href='https://facebook.com/'>Facebook</a>
<a href='https://google.ca/'>Google</a>
<input type='text' placeholder='an input box'>
हम इस जावास्क्रिप्ट का उपयोग कर सकते जांचें कि टैब कुंजी दबाया गया था (या तकनीकी रूप से, जारी)।
फ़ंक्शन currently focused element की जांच करता है और क्या NodeName
a
है। यदि ऐसा है, तो यह if
ब्लॉक में प्रवेश करता है और, मेरे मामले में, href
संपत्ति का मूल्य जावास्क्रिप्ट कंसोल में लिखता है।
यहाँ एक jsFiddle
स्रोत
2013-08-19 14:50:19
वर्तमान में केंद्रित तत्व (यदि कोई है, या 'बॉडी') प्राप्त करने के लिए 'document.activeElement' को देखें। आप उस '.nodeName.toUpperCase() === "a" 'की जांच कर सकते हैं और फिर इसकी' .href' प्रॉपर्टी – Ian
पढ़ सकते हैं इस प्रश्न पर नज़र डालें (इसका परीक्षण नहीं किया गया)। http://stackoverflow.com/questions/11277989/how-to-get-the-focused-element-with-jquery –
@ इयान क्या आपका मतलब था 'toLowerCase() '? –