在以下网页liamharding.com/pgi.php我在页面左侧有一个选项面板,在单击面板的箭头时打开和关闭,这样可以正常工作直到您选择市场(用于测试使用其中一个) “随机漫步”市场并点击“显示/ Refesh图表”,然后使用get_graph(forexName, myCount, divIsNew)
函数进行ajax调用。
一旦完成此调用,将显示一个图形,然后我的选项面板click()事件不起作用?
ajax调用返回变量ajax_data
中的数据,当我执行以下代码var jq_ajax_data = $("<div/>").html(ajax_data);
时会出现问题。我需要将其包装在一起,以便我可以使用jQuery从中提取数据。如果这行代码被注释掉,click()事件可以正常工作吗?
希望有人可以提供帮助,我花了很多时间但却无法找到问题所在。
答案 0 :(得分:19)
如上所述,您不应该使用.live,现在不推荐使用.live。你应该使用.on例如
$(document).on('click', '.selector', function(){
//Your code here
});
答案 1 :(得分:6)
如果没有看到完整的代码,很难确切地说明导致点击事件丢失的原因,但您可以尝试将点击设置为这样的直播事件:
$("#clickableItem").live("click", function() {
//do stuff
});
答案 2 :(得分:5)
您正在使用新的html替换div的内容。新的html不会分配任何点击事件。
使用.live命令始终让您的元素分配了点击事件。