jQuery点击事件需要双击才能工作

我的脚本实际上遇到了一些问题:确实需要2次点击才能在点击事件中工作。 脚本是这样的:

$('td#td_new').live('click', function() { $.ajax({ type: 'GET', url: 'add_hobby.php', data: { hobby: $('#ricerca_interests').val() }, success: function(msg) { nuovo_hobby="
"+$('#ricerca_interests').val()+'
'; $(nuovo_hobby).appendTo("#interessilista"); $('tr#new_hobby').hide().remove(); }, error: function() {alert("Error. Try later.");} }); });

从jQuery 1.7开始,不推荐使用.live()方法。 你应该使用.on()来附加事件处理程序。

您的代码似乎不会生成可能导致第二次单击需要的内容……但请尝试更改 –

$('td#td_new').live('click', function() {

$(document).on('click','#td_new', function() {

然后打开firebug或在success:添加一个console.log('something') success: part – 并确保ajax请求按照需要完成而不是继续运行。

除此之外我们需要更多代码……

玩得开心。

编辑

我试着根据你上传的代码了解你要做什么,但是现在有了测试它,所以这里有一些见解:

  1. 在head部分中包含源脚本(jquery + UI等)。
  2. 删除jquery.min … source – 你不需要它,因为你以任何方式包含完整的脚本。
  3. 我建议升级到jquery 1.9 ……你使用的是1.7.2
  4. 在不同元素上使用相同的标识符时,应使用class not id来声明它们。
  5. 我建议你将click事件作为一个类附加到div add_hobby而不是td

这是一个使用on()并将代码附加到页面的小型演示:

jsfiddle演示

现在随时告诉我您的确切问题。