在jQuery中存在任何附加如下事件的事件:
$("body").on("click", "#test", function () {
// some code here...
});
我可以附加到load
或ready
事件,以替换:
$(document).ready(function () {
// Some code...
});
我需要这个,因为我在外部文件中有$(document).ready();
范围,进行一些表单验证,在我的HTML中我通过ajax加载一些内容,然后所有在该范围内都不起作用。
换句话说,我希望页面上$(document).ready();
逗留live
全部使用.on
之类的内容。
如果我将HTML直接放在页面中,没有ajax,则验证有效。
关于如何解决这个问题的任何想法?
答案 0 :(得分:1)
作为建议:
授予对验证函数的全局访问权限,然后使用 AJAX回调来调用此验证函数。
答案 1 :(得分:0)
我假设在ajax调用之后附加id为“test”的元素。 那么你就可以像这样用来使元素准备就绪。
您可以在单个文件/或多个javascript文件中添加多个文档。 但我建议你把你的代码放在一个函数中,并从外部文件的document.ready范围调用该函数。
function doSomething()
{
$("#test").on('click', function(){
//do some thing here
});
}
外部文件:
$(document).ready(function(){
....
.....
try{
doSomething();
}
catch()
{
//this section will be hit when the method is not avavilble.
}
});