0

jQuery 中存在任何附加事件的事件,如下所示:

$("body").on("click", "#test", function () {
    // some code here...
});

我可以附加到loadready事件,以替换:

$(document).ready(function () {
    // Some code...
});

我需要这个,因为我$(document).ready();在外部文件中有范围,可以进行一些表单验证,并且在我的 HTML 中我通过 ajax 加载了一些内容,然后在该范围内的所有内容都不起作用。

换句话说,我希望所有内容都$(document).ready();live在页面上,使用类似.on.

如果我将 HTML 直接放在页面中,而不使用 ajax,则验证有效。

关于如何解决这个问题的任何想法?

4

2 回答 2

1

作为建议:

授予对验证函数的全局访问权限,然后使用AJAX 回调调用此验证函数。

于 2013-09-05T11:31:27.830 回答
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.
}
});
于 2013-09-06T15:37:29.730 回答