2012-06-22 49 views
1

我这里有一个小提琴 - http://jsfiddle.net/hhimanshu/SDr3F/2/jQuery:按钮点击事件必须点击触发,但发生在页面加载。怎么修?

  • 左窗格已经可以
  • 我需要的是,当我点击“搜索”,输入框应该显示了焦点(时间是警报)

问题

  • 当我加载页面左侧窗格中设置的jQuery打响前夕NT和点击“搜索没有效果”

请帮助我理解我在做什么错在这里

UPDATE

  • 我可以看到警报,但它不能集中,这里是我的最新的jQuery
​​

search.html

<input id="search-input" type="text" class="input-medium search-query span4 youtube-search-box"> 

我怎么能专注于它?

回答

2

下面的代码是在页面加载射击,因为这就是你写的代码

$(function(){ // This tells it to run when dom is ready 
    alert('hi') // Since this is inside the ready function it runs when dom is ready 
}); 

你需要的是得到DOM准备搜索按钮元素,并附上一个click事件处理程序。现在将解雇你有。点击()函数中的任何代码,当您在元素上点击用“搜索”

$(function(){ 
    $('#search').click(function(){ // this tells it to run whenever element with ID "search" is clicked 
      alert('hi'); 
    }); 
}); 

这里的工作小提琴http://jsfiddle.net/SDr3F/10/

0

你必须附加功能ID按钮上单击事件的一部分。因此,像这样:

$("#search").click(function(){ 
    alert('hi') 
    //$('#search-input').focus(); 
}); 

http://jsfiddle.net/SDr3F/7/

1

这应该做的伎俩:

$('#search').click(function(){ 
    alert('hi') 
    //$('#search-input').focus(); 
}); 
0

$(document).ready(fn)意味着当DOM加载在它的任何执行。

要检测点击搜索按钮,请在document.ready fn中使用$("#search").click(fn)

+0

刚刚意识到没有的document.ready,但$(函数(){})实际上是一回事。 – ClarkeyBoy

0

基本上你的代码目前只是告诉它马上跑步。

$(function(){ 
    alert('hi') 
//$('#search-input').focus(); 

});

您需要添加以下内容:

$("#search").on("click", function(){ 
    alert('hi') 
    }); 
相关问题