如何让网络浏览器触发对页面上#id 元素的点击?
使用.click
in javascript 不起作用,因为虽然.click
在函数中被调用,但是该函数不会在单击时执行(否则它会起作用)。
请帮忙。
$('#gocircus').live('click', function() {
document.getElementById('something').click();
});
如何让网络浏览器触发对页面上#id 元素的点击?
使用.click
in javascript 不起作用,因为虽然.click
在函数中被调用,但是该函数不会在单击时执行(否则它会起作用)。
请帮忙。
$('#gocircus').live('click', function() {
document.getElementById('something').click();
});
var el = document.getElementById('id');
el.onclick();
假设您之前在 onclick 上为该元素分配了功能
el.onclick = function() { // your code }
您的代码不像click()
点击事件的 jQuery 扩展那样工作,您不能在 native 上使用它DOMElement
,而是这样做:
$('#gocircus').live('click', function() {
$('#something').click();
}).click();
根据我的评论,live
自 1.7 起已弃用,请使用on()
:
$(document).on('click', '#gocircus', function() {
$('#something').click();
}).click();
根据您的情况,我认为您需要将点击事件绑定到GO!
:
$('#go').click(function() {
for(var i = 0; i < $('#manyTimesToClick').val(); i++) {
$('#idToClick').click();
}
});
如果您对 jquery 持开放态度,您可以尝试使用触发事件来触发按钮 http://api.jquery.com/trigger/
$("#gocircus").click(function () {
$("something").trigger('click');
});
您需要的方法是dispatchEvent
或fireEvent
,具体取决于浏览器。
这是一个示例代码片段
function eventFire(el, etype){
if (el.fireEvent) {
(el.fireEvent('on' + etype));
} else {
var evObj = document.createEvent('Events');
evObj.initEvent(etype, true, false);
el.dispatchEvent(evObj);
}
}
从这里开始:如何使用 JavaScript 模拟点击?