62,072
社区成员
发帖
与我相关
我的任务
分享
$.ajax({
type: "Get",
url: '@Url.Content("~/AttSin/Index")',
async: false,
data: { rand: Math.random() },
beforeSend: function () {
},
error: function (request) {
alert("Connect Error");
},
success: function (response) {
$('#HomeMain').html(response);
}
});
<script>
function div2function(){
$("#div2").on("click",function(){
alert("haha");
}
div2function();
}
</script>
<script>
$(function(){
$("#div2").on("click",function(){
alert("haha");
})
</script>
$.ajax({
type: "Get",
url: '@Url.Content("~/AttSin/Index")',
async: false,
data: { rand: Math.random() },
beforeSend: function () {
},
error: function (request) {
alert("Connect Error");
},
success: function (response) {
$('#HomeMain').html(response);
}
});
可以的噢[/quote]
试了下,真心可以诶.....
你用
$('#HomeMain').html(response);
HomeMain这个DIV里的内容肯定被清除掉了,如果用append可以保留第一个按钮点击的js+html
如果你只想保留js...我只能想到把js和html用"|"分开,然后用split拆分,把js用append放一个div中,把html用.html放HomeMain这个div中[/quote]
我加载的页面中有html,有js,我的js是对html中div的操作,现在是按钮切换点击快了的话 即 我点击第一个按钮,HomeMain 这个div中的js还没有执行完,我就点击第二个按钮,然后就出现报错的 情况 (找不到元素的错),所有我怀疑 是js没有被替换掉[/quote]
点快了你的AJAX还没加载完,那第一次点击的JS不就等于没加载到,那点第二次(第二个按钮)的时候肯定执行不到点击第一个按钮应该加载的JS了啊...
所以我才说建议把按钮1和按钮2点击后应该加载的JS直接写到一个JS里.保证不管你咋点,两次按钮的JS都先被加载了啊[/quote]
报错的原因就是因为js操作找不到 元素 写在一起肯定就是点一下 错一下[/quote]
你是在点第一个按钮是在HomeMain这个DIV里添加了比如另外一个<div id="div2">xxxx</div>这样吗?然后第二个按钮是比如点击第二个DIV咋滴咋滴?
如果这样,你第一按钮点击没加载div2的div,就点按钮2那肯定不行了....而且如果div2的DIV加载完你这样也可能出错.
<script>
function div2function(){
$("#div2").on("click",function(){
alert("haha");
}
div2function();
}
</script>
需要这样,如果直接
<script>
$(function(){
$("#div2").on("click",function(){
alert("haha");
})
</script>
这样也会报错的
$.ajax({
type: "Get",
url: '@Url.Content("~/AttSin/Index")',
async: false,
data: { rand: Math.random() },
beforeSend: function () {
},
error: function (request) {
alert("Connect Error");
},
success: function (response) {
$('#HomeMain').html(response);
}
});
可以的噢[/quote]
试了下,真心可以诶.....
你用
$('#HomeMain').html(response);
HomeMain这个DIV里的内容肯定被清除掉了,如果用append可以保留第一个按钮点击的js+html
如果你只想保留js...我只能想到把js和html用"|"分开,然后用split拆分,把js用append放一个div中,把html用.html放HomeMain这个div中[/quote]
我加载的页面中有html,有js,我的js是对html中div的操作,现在是按钮切换点击快了的话 即 我点击第一个按钮,HomeMain 这个div中的js还没有执行完,我就点击第二个按钮,然后就出现报错的 情况 (找不到元素的错),所有我怀疑 是js没有被替换掉[/quote]
点快了你的AJAX还没加载完,那第一次点击的JS不就等于没加载到,那点第二次(第二个按钮)的时候肯定执行不到点击第一个按钮应该加载的JS了啊...
所以我才说建议把按钮1和按钮2点击后应该加载的JS直接写到一个JS里.保证不管你咋点,两次按钮的JS都先被加载了啊[/quote]
报错的原因就是因为js操作找不到 元素 写在一起肯定就是点一下 错一下
public string Test()
{
return "<script>$(function(){$('#id2').on('click',function(){alert('haha')})})</script>";
}
<div id="test">
</div>
<div id="id1">1</div>
<div id="id2">2</div>
<script>
$(function () {
$("#id1").on("click", function () {
$.post("/Home/Test", {
},
function (data) {
$("#test").html(data);
}
)
})
})
</script>
$.ajax({
type: "Get",
url: '@Url.Content("~/AttSin/Index")',
async: false,
data: { rand: Math.random() },
beforeSend: function () {
},
error: function (request) {
alert("Connect Error");
},
success: function (response) {
$('#HomeMain').html(response);
}
});
可以的噢[/quote]
试了下,真心可以诶.....
你用
$('#HomeMain').html(response);
HomeMain这个DIV里的内容肯定被清除掉了,如果用append可以保留第一个按钮点击的js+html
如果你只想保留js...我只能想到把js和html用"|"分开,然后用split拆分,把js用append放一个div中,把html用.html放HomeMain这个div中[/quote]
我加载的页面中有html,有js,我的js是对html中div的操作,现在是按钮切换点击快了的话 即 我点击第一个按钮,HomeMain 这个div中的js还没有执行完,我就点击第二个按钮,然后就出现报错的 情况 (找不到元素的错),所有我怀疑 是js没有被替换掉[/quote]
点快了你的AJAX还没加载完,那第一次点击的JS不就等于没加载到,那点第二次(第二个按钮)的时候肯定执行不到点击第一个按钮应该加载的JS了啊...
所以我才说建议把按钮1和按钮2点击后应该加载的JS直接写到一个JS里.保证不管你咋点,两次按钮的JS都先被加载了啊
$.ajax({
type: "Get",
url: '@Url.Content("~/AttSin/Index")',
async: false,
data: { rand: Math.random() },
beforeSend: function () {
},
error: function (request) {
alert("Connect Error");
},
success: function (response) {
$('#HomeMain').html(response);
}
});
可以的噢[/quote]
试了下,真心可以诶.....
你用
$('#HomeMain').html(response);
HomeMain这个DIV里的内容肯定被清除掉了,如果用append可以保留第一个按钮点击的js+html
如果你只想保留js...我只能想到把js和html用"|"分开,然后用split拆分,把js用append放一个div中,把html用.html放HomeMain这个div中[/quote]
我加载的页面中有html,有js,我的js是对html中div的操作,现在是按钮切换点击快了的话 即 我点击第一个按钮,HomeMain 这个div中的js还没有执行完,我就点击第二个按钮,然后就出现报错的 情况 (找不到元素的错),所有我怀疑 是js没有被替换掉
$.ajax({
type: "Get",
url: '@Url.Content("~/AttSin/Index")',
async: false,
data: { rand: Math.random() },
beforeSend: function () {
},
error: function (request) {
alert("Connect Error");
},
success: function (response) {
$('#HomeMain').html(response);
}
});
可以的噢[/quote]
试了下,真心可以诶.....
你用
$('#HomeMain').html(response);
HomeMain这个DIV里的内容肯定被清除掉了,如果用append可以保留第一个按钮点击的js+html
如果你只想保留js...我只能想到把js和html用"|"分开,然后用split拆分,把js用append放一个div中,把html用.html放HomeMain这个div中
$.ajax({
type: "Get",
url: '@Url.Content("~/AttSin/Index")',
async: false,
data: { rand: Math.random() },
beforeSend: function () {
},
error: function (request) {
alert("Connect Error");
},
success: function (response) {
$('#HomeMain').html(response);
}
});
可以的噢