我有一個href
,我從中彈出一個彈出窗口,並且我想在我的身體的onload
中激活這個。我使用document.getElementbyId("myelement").click()
,在IE中可以正常工作,但Firefox不支持。我知道Firefox不支持.click()
,但我沒有其他辦法可以做到這一點。Firefox中的.click()方法的替代方法
你可以請建議一個在IE和FF中工作的解決方法嗎?
在此先感謝。
我有一個href
,我從中彈出一個彈出窗口,並且我想在我的身體的onload
中激活這個。我使用document.getElementbyId("myelement").click()
,在IE中可以正常工作,但Firefox不支持。我知道Firefox不支持.click()
,但我沒有其他辦法可以做到這一點。Firefox中的.click()方法的替代方法
你可以請建議一個在IE和FF中工作的解決方法嗎?
在此先感謝。
你可以做Alsciende建議,或者如果你需要將事件對象,你可以使用dispatchEvent
來觸發事件處理程序:
document.body.onload = function() {
var element = document.getElementById("element");
if ("click" in element)
element.click();
else if ("dispatchEvent" in element) {
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
element.dispatchEvent(evt);
}
}
它使用一個框架有時是有用的,如jQuery,爲您處理這些類型的瀏覽器不一致問題。或多或少,jQuery中相同的代碼將是:
$('#element').click();
創建一個打開彈出窗口的函數,並在正文onload處理函數以及鏈接onclick處理函數中使用此函數。
function openPopup() {
window.open("...");
return false;
}
<body onload="openPopup()">
...
<a id="myelement" href="#" onclick="openPopup()">...</a>
...
</body>
正是如此,它可以幫助別人,我已經在許多代碼使用見過這個,但如果它在你的情況不能保證,以下是我曾嘗試過 -
'leftclick .divname': '_functionname',
不知道。但是這可能會使用js必須提供的內容。我在一個支持js的骨幹應用中使用它。
*我知道''.click()'不會被Firefox支持*一些引用會很好... – 2012-11-25 20:58:48