<script>
$(document).ready(function(){
$('one').click(function(){
if( loaded('new.html') ) {
alert('yes');
});
});
});
</script>
有没有明确的方法让它发挥作用?
答案 0 :(得分:2)
你有一些普遍的误解。我将从代码中的语法/语义错误开始:
$('one')
可能应为#one
或.one
,具体取决于您的元素是否具有ID或类。
if
条件只需要关闭}
,您意外添加了)
。如果您在浏览器中按 F12 (或 ctrl + shift + i ),您将看到一个控制台告诉你,代码中是否有错误。
然后不清楚你想做什么。
通常,当您想要检查时,如果您的html已准备就绪,那么使用ready
方法(就像您已经做过的那样)就足够了。您无需进行任何其他检查。
$(document).ready(function(){
/* inside here, you can be sure your html is ready*/
});
现在它取决于您的代码loaded('new.html')
正在做什么。但是,如果您通过ajax加载new.html
,则应使用成功回调来处理结果。有关详细信息,请参阅jQuery get()
。
通常,在加载new.html
之后要执行的所有代码都应放入回调中。
var jqxhr = $.get("new.html", function() {
alert("YES! Your html has successfully loaded");
/* Put your code here*/
})
答案 1 :(得分:0)
尝试使用$ .get()函数加载页面。 http://api.jquery.com/jQuery.get/
看看你想要的,试试这个:
var isLoaded=false;
$(document).ready(function() {
$.get('one.html', function(data) {
isLoaded=true;
});
$('one').click(function(){
if(isLoaded) {
alert('yes');
});
});
});