我是jquery ajax的新手,我尽力用ajax解决我的问题。基本上,我正在加载外部json数据以设置为链接或按钮来执行某些操作。但是,在ajax加载后,它会禁用其他jquery函数。目前,我正在测试简单的操作,但稍后,操作将是ajax加载。
在互联网上搜索关于Ajax之后,我需要使用jquery'当'对于多个ajax,我需要使用jquery' delegate'。这是我的情况下的洗脱吗?
这很简单,我的工作
HTML和js
$.ajax({
url: "../JsonObj/mnb.json",
dataType: "json",
success: function (data)
{
for (var i = 0; i < data.nav_buttons.nav_button.length ; i++)
{
if (i > 0 && i < data.nav_buttons.nav_button.length)
{
$("nav").append("<h1>" + "|" + "</h1>");
}
$("nav").append("<a href='" + data.nav_buttons.nav_button[i].url + "'>" + "<h1 id='citvnmb"
+ i + "' class='citvnmbcls'>" + data.nav_buttons.nav_button[i].name + "</h1>" + "</a>");
}
},
error: function ()
{
alert("unbale to load main nav buttons ");
}
});
$("#citvnmb0").click(function () {
alert("test");
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<nav>
</nav>
&#13;
mnb.json
{
"nav_buttons": {
"nav_button": [
{ "name": "Kitchen", "url": "#" },
{ "name": "Home", "url": "#" },
]
}}
答案 0 :(得分:2)
动态创建元素时,必须使用on()
访问元素:
$(document).on("click","#citvnmb0" , function () {
alert("test");
});
答案 1 :(得分:0)
我想确保你的json数据准确无误。 我有2个解决方案
在点击jquery上使用动态
$(“#citvnmb0”)。on(“click”,function(){ 警报( “测试”); });