Programmatically triggering events in Javascript for IE using jQuery

后端 未结 6 1041
陌清茗
陌清茗 2021-01-04 19:22

When an Event is triggered by a user in IE, it is set to the window.event object. The only way to see what triggered the event is by accessing the window.

6条回答
  •  孤独总比滥情好
    2021-01-04 20:16

    I had the same problem. Solved by using this function:

    jQuery.fn.extend({
        fire: function(evttype){ 
            el = this.get(0);
            if (document.createEvent) {
                var evt = document.createEvent('HTMLEvents'); 
                evt.initEvent(evttype, false, false); 
                el.dispatchEvent(evt); 
            } else if (document.createEventObject) { 
                el.fireEvent('on' + evttype); 
            }
            return this;
        }
    });
    

    So my "onSelect" event handler to datepicker looks like:

    if ($.browser.msie) {
        datepickerOptions = $.extend(datepickerOptions, { 
            onSelect: function(){
                $(this).fire("change").blur();
            }
        });
    }
    

提交回复
热议问题