इस लंगर क्लिक पर संभाल करने के लिए, की तुलना में आप सिर्फ
document.getElementById('anchorID').onclick=function(){/* some code */}
अन्यथा लिख सकते हैं केवल एक ही समारोह में शामिल होंगे, तो आप डोम विधि addEventListener
function clickHandler(){ /* some code */ }
var anchor = document.getElementById('anchorID');
if(anchor.addEventListener) // DOM method
anchor.addEventListener('click', clickHandler, false);
else if(anchor.attachEvent) // this is for IE, because it doesn't support addEventListener
anchor.attachEvent('onclick', function(){ return clickHandler.apply(anchor, [window.event]}); // this strange part for making the keyword 'this' indicate the clicked anchor
उपयोग करने के लिए भी कॉल करने के लिए याद है उपरोक्त कोड जब सभी तत्व लोड होते हैं (उदाहरण के लिए। window.onload पर)
-
संपादित करें
मुझे लगता है कि आपने कुछ विवरण जोड़े हैं। आप sth साथ नीचे
$("a.scroll-up, a.scroll-down").click(function(){SNavigate($(this).attr("href").substr(7));return false;});
कोड है कि jQuery का उपयोग नहीं करता बदलना चाहते हैं, तो यह html में बिना किसी अतिरिक्त कोड के साथ काम
function addEvent(obj, type, fn) {
if (obj.addEventListener)
obj.addEventListener(type, fn, false);
else if (obj.attachEvent)
obj.attachEvent('on' + type, function() { return fn.apply(obj, [window.event]);});
}
addEvent(window, 'load', function(){
for(var i=0, a=document.anchors, l=a.length; i<l;++i){
if(a[i].className == 'scroll-up' || a[i].className == 'scroll-down'){
addEvent(a[i], 'click', function(e){ SNavigate(this.href.substr(7)); e.returnValue=false; if(e.preventDefault)e.preventDefault();return false});
}
}
});
goood, धन्यवाद। मुझे इसी की जरूरत थी। – Mike
आपको डीन एडवर्ड्स समाधान दिलचस्प भी मिल सकता है - http://dean.edwards.name/weblog/2005/10/add-event/ –
@Russ कैम: डीन एडवर्ड्स समाधान का एक नुकसान है, बाद में डीन ने क्या वर्णन किया: http://dean.edwards.name/weblog/ – Rafael