Object doesn’t support property or method ‘attachEvent’ InternetExplorer 11

If I press the form send button “Saada” in IE11, I will get an error:

Object doesn't support property or method 'attachEvent'

I have found that this is an IE11 problem, but the only solution I have found is to use my developer tools and set the browser to run in IE9 mode for example.

Read More

But I want everyone to use my website without using their developer tools.
Do you know some other solution I could try. Or maybe I have to import some other Jquery libraries?

Other browsers work fine, but this only happens in IE11

Related posts

Leave a Reply

2 comments

  1. The javascript method attachEvent was replaced with the method addEventListener in IE11.

    JQuery 1.10.1 still uses this method in case of IE > 8. This will cause javascript compilation errors.

    JQuery 1.10.2 seems to have solved this problem.

    Hope this will help

  2. attachEvent is a deprecated function used in older versions of Internet Explorer.
    For modern browsers use this instead.

    el.addEventListener(evt,func,false);
    

    See documentation here

    You could also create a function which checks which function to use

    function addListener(el, event, func){
        if (el.addEventListener) {
           el.addEventListener(event, func, false);
        }
        else {
           el.attachEvent("on"+event, func);
        }
    }
    

    Then you can attach your event by doing this:

    var element = document.getElementById('myElement');
    addListener(element, 'click', function(){
        alert('You have clicked!');
    });
    

    If you are unable to to this then perhaps a polyfill will work instead. Try to insert this somewhere:

    if(!document.attachEvent){
      Object.prototype.attachEvent=function(event,func){
        this.addEventListener(event.split('on')[1], func);
      }
    }
    

    Hope this helps