我在网页上有以下ajax调用...
var href=$('.poplight').attr("href");
$('.poplight').attr("href","#");
$('.poplight').click(function(){
$.get(href, function(data) {
$("#popup-contents").html(data)
// inserts <div id="additionalInfo">
// <legend id="legend-params">Legend</legend>
// <div id="toggle"> This should toggle </div> </div>
}
);
});
</script>
在同一页面上,链接的.js脚本会在单击图例时切换#toggle div。这一切在单独的页面上工作正常(只是传说切换本身),但我不能让它与ajax调用一起工作。我认为它与jquery“附加”某些doms时有关...我对jquery的内部工作知之甚少并不知道。
这是外部脚本。我尝试过使用onload,将其与html内联添加,以及其他一些变体。单击图例时会运行这些函数(如果在.show()方法之后插入警报('test'),它将显示警报窗口)。
$('#toggle').hide();
$("#legend").toggle(
function() {
$("#toggle").show("slide", {direction: "up"}, 200);
},
function() {
$("#toggle").hide("slide", {direction: "up"}, 200);
});
任何帮助都会很棒!
答案 0 :(得分:0)
上面列出的评论帮助我解决了问题(我认为它们被SO的“算法”转换为评论......会将它们标记为答案)。 我基本上改变了:
$( “#传说”)。切换(...) 到
$(“#legend”)。on('click',functionX()...) 如果全局变量为true或false,那么functionX几乎是一个美化if语句隐藏了一些东西。也许不是最干净的解决方案,但它确实起了作用。