2015-06-02 72 views
0

我有幾個選擇菜單,需要在頁面加載時觸發其更改事件,以便它們可以自動使用來自on('change', ...)處理程序的更改行爲。觸發Internet Explorer的更改事件

我已經在Firefox中正常工作,但顯然這在Internet Explorer中不起作用。

var changeEvent = new Event('change') 
input.dispatchEvent(changeEvent); 

我試圖尋找在IE的替代品,這是我來最接近:

ie_event = document.createEvent('change') 

ie_event.initEvent('change', function(e) { 
    ... 
}, false); 

document.dispatchEvent(ie_event); 

*以上是從codeproject.com,但它不」告訴我要在橢圓上放什麼。

有人可以告訴我什麼是錯的,指向正確的方向,或給我一個例子?

+0

您需要顯示您的HTML並描述確切地說您正在嘗試進行哪項活動。正如你最初描述的事情,我甚至不明白你爲什麼要創建一個新的事件,而不是使用已經觸發的現有事件。這個[createEvent()'](https://developer.mozilla.org/en-US/docs/Web/API/Document/createEvent)上的MDN頁面表明它在IE中不受支持。 – jfriend00

+0

我會更新。我需要在頁面加載時創建一個更改事件,而不僅僅是當我更改選擇框時。 – nobrandheroes

+0

就像我說的,請向我們展示相關的HTML。 – jfriend00

回答

0

這會有幫助嗎?

<script> 
    $(document).ready(function() { 
      $("#select").on("change",function(){ 
      //do something 
      }); 

      $("#select").trigger("change"); 
    }); 
</script> 
+0

'.trigger()'是我可以跨瀏覽器工作的唯一東西。謝謝。 – nobrandheroes