jquery - 在ajax调用后丢失click()事件?

nic*_*oom 4 ajax jquery jquery-ui

在下面的网页liamharding.com/pgi.php我在页面左侧有一个选项面板,单击面板上的箭头打开和关闭,这可以正常工作,直到您选择一个市场(用于测试使用其中一个'Random Walk'市场并点击'Show/Refesh Graphs'),然后使用get_graph(forexName, myCount, divIsNew)函数进行ajax调用 .

一旦完成此调用,将显示一个图形,然后我的选项面板click()事件不起作用?

ajax调用返回变量中的数据,ajax_data当我执行以下代码时会出现问题var jq_ajax_data = $("<div/>").html(ajax_data);.我需要将其包装在一起,以便我可以使用jQuery从中提取数据.如果注释掉这行代码,click()事件工作正常吗?

希望有人可以提供帮助,我花了很多时间但却无法找到问题所在.

And*_*ira 19

你不应该像上面推荐的那样使用.live,现在不推荐使用.live.你应该使用.on例如

$(document).on('click', '.selector', function(){
    //Your code here
});
Run Code Online (Sandbox Code Playgroud)


Cor*_*old 6

如果没有看到完整的代码,很难确切地说出导致点击事件丢失的原因,但您可以尝试将点击设置为如下的直播事件:

$("#clickableItem").live("click", function() { 
    //do stuff
});
Run Code Online (Sandbox Code Playgroud)


gri*_*egs 5

您正在使用新的html替换div的内容.新的html不会分配任何点击事件.

使用.live命令始终使元素具有分配给它们的单击事件.