JS在加载时单击Jquery函数

时间:2015-10-27 13:04:23

标签: javascript jquery

我有一个JS函数,我想在页面加载时自动点击jquery.click链接。

我怎样才能让它发挥作用?

Fiddle

当页面加载时我想看警报,不需要点击链接。

JS

window.onload = function(){
document.getElementsByClassName("c").click();
}


$(".c").click(function(){
    alert("ok");
});

HTML:

<a href="#" class="c">test</a>

6 个答案:

答案 0 :(得分:1)

<强> DEMO HERE

click

trigger document.ready

$('document').ready(function(){
    $(".c").click(function(){
        alert("ok");
    });
    $('.c').trigger('click');
});

答案 1 :(得分:1)

创建处理程序

后立即触发事件
$(function(){
    $(".c").click(function(){
        alert("ok");
    }).click();
});

DEMO

答案 2 :(得分:1)

试试这种方式

$(document).ready(function(){
 $(".c").trigger('click');
});

答案 3 :(得分:1)

因此,您可以将警报推送到某个功能中:

function callAlert() {
   alert('a');
}

您可以像这样更改事件点击:

$(".c").click(callAlert);

最后,您可以在页面加载时调用alert函数:

$('document').ready(function(){
    callAlert(); // call here
});

代码:

$('document').ready(function(){
    callAlert(); 
    $(".c").click(callAlert);
});

function callAlert() {
    alert('a');
}

答案 4 :(得分:1)

  

getElementsByClassName返回具有所有给定类名的所有子元素的类数组对象。在文档对象上调用时,将搜索完整的文档,包括根节点。

     

要分配click处理程序,您必须遍历nodelist或仅将事件分配给第一个element

试试这个:

window.onload = function () {
    document.getElementsByClassName("c")[0].click();
};
$(".c").click(function () {
    alert("ok");
});

答案 5 :(得分:1)

您需要在attach click事件之前发生trigger事件。

DEMO

更改

document.getElementsByClassName("c")

document.getElementsByClassName("c")[0]

使用以下代码

$(document).ready(function(){
      $(".c").click(function(){
         alert("ok");
      });
 });

 window.onload = function(){
      document.getElementsByClassName("c")[0].click();
      // Or use jQuery trigger 
      // $(".c").trigger('click') 
 }