[英]Simulate click event on select (not working for IE and FF)
我想模擬選擇按鈕上的點擊事件。 我通過以下鏈接獲得了啟發。 使用jQuery模擬選擇元素的單擊
在上面的線程上,此小提琴對chrome正常工作。 我正面臨着與Firefox和Internet Explorer行為相同的問題。
我已經編輯了小提琴。 這是擺弄,但似乎不起作用。 在這個小提琴中,我能夠進入該函數,但實際的click事件並未在select上觸發。 我缺少一些代碼,因此我的代碼無法正常工作。 任何幫助填寫空白。
這是HTML代碼。
<select id="dropdown">
<option value="Red">Red</option>
<option value="Green">Green</option>
<option value="Blue">Blue</option>
</select>
<br>
<button id="fire" type="button" onclick="runThis()">Show dropdown items</button>
這是Javascript。
// <select> element displays its options on mousedown, not click.
showDropdown = function (element) {
var event;
event = document.createEvent('MouseEvents');
event.initMouseEvent('mousedown', true, true, window);
element.dispatchEvent(event);
};
// This isn't magic.
window.runThis = function () {
var dropdown = document.getElementById('dropdown');
//showDropdown(dropdown);
eventFire(dropdown, 'click');
};
function eventFire(el, etype) {
alert('hi');
if (el.fireEvent) {
el.fireEvent('on' + etype);
el[etype]();
} else {
var evObj = document.createEvent('Events');
evObj.initEvent(etype, true, false, window);
el.dispatchEvent(evObj);
}
}
我也發現了幾種相同操作的參考。
HTML文件
<button>Trigger the link below</button><br />
<a href="http://www.yahoo.com/" target="_blank">
http://www.google.com/</a> (new window)
<br>
<select id="dropdown">
<option value="Red">Red</option>
<option value="Green">Green</option>
<option value="Blue">Blue</option>
</select>
這是javascript文件。
function eventFire(el, etype) {
alert('hi');
if (el.fireEvent) {
el.fireEvent('on' + etype);
el[etype]();
} else {
var evObj = document.createEvent('Events');
evObj.initEvent(etype, true, false);
el.dispatchEvent(evObj);
}
}
document.getElementsByTagName("button")[0].onclick = function() {
var element = document.getElementsByTagName("select")[0];
eventFire(element, "click");
};
上面的小提琴也不起作用。 請讓我知道是否需要更多信息。
在小提琴之上,我指的是stackoverflow本身。 由於我的帳戶限制,我無法粘貼直接鏈接。
這是我所做的:
$("#fire").click(function () {
var e = document.createEvent("MouseEvents");
e.initMouseEvent("mousedown");
$("#dropdown")[0].dispatchEvent(e);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.