2012-05-13 16 views
10

मैंने इस बाइंड विधि को लिखा और आईई में काम करने के लिए मेरी रोकथाम() विधि में कोई समस्या है। कॉलबैक लाइन कभी निष्पादित नहीं होती है। क्या कोई सहायता प्रदान कर सकता है? धन्यवाद!क्रॉस ब्राउज़र रोकें डीफॉल्ट() jQuery के बिना

var preventDefault = function (event) { 
    if (window.event) { window.event.returnValue = false; } 
    else if (event.preventDefault) { event.preventDefault(); } 
    else { event.returnValue = false; } 
}; 

var bindEvent = function (ele, type, cb) { 
    if (window.addEventListener) { 
     ele.addEventListener(type, cb, false); 
    } else if (window.attachEvent) { 
     ele.attachEvent('on' + type, function() { 
      event.preventDefault = function() { 
       preventDefault(event); 
      }.call(this); 
      cb.call(ele, event); //this does not execute 
     }); 
    } 
}; 
+0

निकालें '(यह)' कि लाइन से पहले निष्पादित नहीं करता है कि .call। यह निष्पादित नहीं होता है, क्योंकि पिछला एक सिंटेक्स त्रुटि फेंकता है .. –

उत्तर

11
// cancel event 
function cancelEvent(event) { 
    if (event.preventDefault) { 
     event.preventDefault(); 
    } else { 
     event.returnValue = false; 
    } 
} 
+1

IE9 –

+0

@JeffTian में काम नहीं कर रहा है आप स्क्रॉल ईवेंट की डिफ़ॉल्ट कार्रवाई को रोक नहीं सकते हैं। यही कारण है कि आपको लगता है कि यह काम नहीं करता है! – undefined

+0

@undefined हाँ आप सही हैं। –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^