ओवरराइट किए बिना ऑनक्लिक हैंडलर जोड़ना मैं एक पृष्ठ पर सभी लिंक संशोधित करने की कोशिश कर रहा हूं ताकि वे क्लिक होने पर कुछ अतिरिक्त काम कर सकें।जावास्क्रिप्ट: मौजूदा एक
function adaptLinks()
{
var links = document.getElementsByTagName('a');
for(i = 0; i != links.length; i++)
{
links[i].onclick = function (e)
{
<do some work>
return true;
}
}
}
लेकिन लिंक के कुछ पहले से ही एक onClick हैंडलर कि संरक्षित किया जाना चाहिए है:
एक तुच्छ दृष्टिकोण कुछ इस तरह हो सकता है।
function adaptLinks()
{
var links = document.getElementsByTagName('a');
for(i = 0; i != links.length; i++)
{
var oldOnClick = links[i].onclick;
links[i].onclick = function (e)
{
if(oldOnClick != null && !oldOnClick())
{
return false;
}
<do some work>
return true;
}
}
}
लेकिन यह काम नहीं करता क्योंकि oldOnClick केवल मूल्यांकन किया जाता है जब हैंडलर कहा जाता है (यह इस बिंदु के रूप में पिछले लिंक के मूल्य में शामिल है): मैं निम्नलिखित की कोशिश की।
मुझे लगता है कि इसी तरह के कई कार्यों aroun देखा है था डी jQuery का उपयोग कर हल कर रहे हैं। मैं वर्तमान में इसे देख रहा हूं क्योंकि यह कई अन्य कार्यों को भी कम करता है। Quirksmode पेज के लिए – rluba