2014-10-02 258 views
0

我有一个页面上有一个搜索按钮。jQuery触发点击事件

在我的JavaScript我有一个click事件,看起来像这样:

if(blah){ 
    $('#search').click(); 
} 

$('#search').on('click', function(){ 
    // Do something 
}); 

,会是什么if语句不会点击按钮使onclick火的原因是什么?

所有这些都包含在onReady中。

在页面上的HTML是一个标准按钮:

<button id='search' type="button" class="btn btn-primary">Search RefID</button> 
+1

如果'blah' evals一个假的... ...触发点击也将只运行定义的点击处理程序,而不是本地功能 – tymeJV 2014-10-02 18:35:14

+0

它不,我在'.click()'之前和之后发出警报,所以我知道它到达那里 – SBB 2014-10-02 18:35:57

+5

你似乎绑定处理程序**后**你触发点击。处理程序不执行,因为它不存在(在那个时刻)。 – 2014-10-02 18:36:12

回答

3

你似乎后处理程序捆绑你触发了点击。处理程序不执行,因为它不存在(在那个时刻)。

把if子句的点击处理程序后,它的工作原理:

http://jsfiddle.net/kksgj4xL/

var blah = true; 

$('#search').click(function(){ 
    alert("poep"); 
}); 

if(blah){ 
    $('#search').click(); 
}