我想使用js方法.click()
,如下所示:
document.getElementById(id).click();
但是因为它必不可少,所以我想知道哪些浏览器支持.click()
方法。
答案 0 :(得分:2)
我遇到的唯一不支持.click()
的浏览器是Safari。 Safari支持.click()
按钮(例如<input type="button" />
),但不支持其他元素,例如锚元素(例如<a href="#">Click Me</a>
)。
对于Safari,您必须使用变通方法:
function click_by_id(your_id)
{
var element = document.getElementById(your_id);
if(element.click)
element.click();
else if(document.createEvent)
{
var eventObj = document.createEvent('MouseEvents');
eventObj.initEvent('click',true,true);
element.dispatchEvent(eventObj);
}
}
使用上述功能,您可以支持90%以上的浏览器。
在IE7-10,Firefox,Chrome,Safari中测试。
答案 1 :(得分:0)
根据MDN,Chrome 20 +,Firefox 5+和Safari 6+支持HTMLElement.click()
。但是might be inaccurate。
答案 2 :(得分:0)
我遇到了这个问题,并用它代替了$('#selector').click(function(){});
,用于(document).on('click','#selector',function(){});