0

试图使用这段代码来模拟一个对象的点击,我在 html 中注入了这段代码。

<script type='text/javascript'> 
   $(window).load(function() {
      $('#hellothere').click();
   });
</script>

没有工作……完全没有!

4

2 回答 2

2

当 DOM 准备好时,您应该使用该ready()函数运行代码 - http://api.jquery.com/ready/ - 该load()方法用于加载新内容 - http://api.jquery.com/load/ - 并且是不适合您的目的。然后,您可以使用trigger()在 DOM 对象上触发单击事件。

// run when the DOM is loaded
$(document).ready(function(){
    $('#hellothere')
         // Set up the click event
         .on('click', function(){ alert('you clicked #hellothere'); })
         // Trigger the click event
         .trigger('click');
});
于 2012-10-26T03:42:57.760 回答
0

如果你试图模拟点击对象,你应该使用 trigger 方法,

$(function){
   $('#hellothere').trigger('click');
});

这是触发器文档的链接:http: //api.jquery.com/trigger/

这是点击方法的代码:

jQuery.fn.click = function (data, fn) {
  if (fn == null) {
    fn = data;
    data = null;
}

return arguments.length > 0 ? this.on(name, null, data, fn) : this.trigger(name);
}

如你看到的; 如果没有参数被解析到函数,它将触发点击事件。

所以使用 .trigger("click") 因为你会少调用一个函数。 https://stackoverflow.com/a/9666547/887539

PS:

这是查看 jQuery 源代码的好工具:http: //james.padolsey.com/jquery/

于 2012-10-26T03:43:10.133 回答