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请求按照需要完成而不是继续运行。
除此之外我们需要更多代码……
玩得开心。
编辑 :
我试着根据你上传的代码了解你要做什么,但是现在有了测试它,所以这里有一些见解:
- 在head部分中包含源脚本(jquery + UI等)。
- 删除jquery.min … source – 你不需要它,因为你以任何方式包含完整的脚本。
- 我建议升级到jquery 1.9 ……你使用的是1.7.2
- 在不同元素上使用相同的标识符时,应使用
class
notid
来声明它们。 - 我建议你将click事件作为一个类附加到div
add_hobby
而不是td
。
这是一个使用on()并将代码附加到页面的小型演示:
jsfiddle演示
现在随时告诉我您的确切问题。