1

我在这里有一个小提琴 - http://jsfiddle.net/hhimanshu/SDr3F/2/

  • 左窗格已经可用
  • 我需要当我点击“搜索”时,输入框应该显示为焦点(暂时警报)

问题

  • 当我使用左窗格设置加载页面时,jQuery 触发事件并单击“搜索无效”

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

更新

  • 我可以看到警报,但无法集中注意力,这是我最新的 jQuery
// loading search page
$(function(){
  $("#search").click(function(){
      $('#feature').load('templates/search.html');
      $('#search-input').focus();
      // alert("hi");
  });
});  

并且search.html

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

我怎样才能专注于它?

4

6 回答 6

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 上的搜索按钮元素并附加一个单击事件处理程序。现在,当您单击 ID 为“搜索”的元素时,它将触发 .click() 函数中的任何代码

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

这是一个工作小提琴http://jsfiddle.net/SDr3F/10/

于 2012-06-22T21:00:06.703 回答
1

这应该可以解决问题:

$('#search').click(function(){
    alert('hi')
    //$('#search-input').focus();
});
于 2012-06-22T21:00:53.153 回答
0

您必须将该功能附加为按钮上的单击事件的一部分。所以是这样的:

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

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

于 2012-06-22T21:00:29.667 回答
0

$(document).ready(fn)意味着当 DOM 加载时,其中的任何内容都会执行。

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

于 2012-06-22T21:01:02.300 回答
0

基本上,您的代码目前只是告诉它立即运行。

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

});

您需要添加以下内容:

  $("#search").on("click", function(){
     alert('hi')
  });
于 2012-06-22T21:02:14.790 回答
0

问题是您的 Button 中有一个 DIV。

试试这个小提琴

http://jsfiddle.net/SDr3F/9/

于 2012-06-22T21:03:43.230 回答