我有一个函数(带有200+代码行)。它可以在页面加载时或在某些单击事件期间运行。现在如何判断一个函数是否在页面加载过程中运行?
下面是一个简单的测试代码。也保存在http://jsfiddle.net/EjcTk/中,谢谢。
<script>
jQuery(document).ready(function(){
function ABC() {
//many code here
if(someelse===undefined){
//if by click, do some code.
//if by page loading, do not run these code.
alert('ok');//check if it works.
}
}
$(document).ready(function() {
var someelse = 1;
ABC();
});
$('#click').click(function() {
ABC();
});
});
</script>
<div id="click">test</div>发布于 2012-09-26 01:30:53
试试这个:
function ABC(status) {
//many codes here
if(status==='click'){
//if by click, do some code.
//if by page loading, do not run these code.
alert('ok');//check if it works.
}
}
$(document).ready(function() {
ABC('default');
});
$('#click').click(function() {
ABC('click');
});
发布于 2012-09-26 01:29:18
尝试此http://jsfiddle.net/EjcTk/2/
var someelse = 0;
$(document).ready(function() {
someelse = 0;
ABC();
});
$('#click').click(function() {
someelse = 1;
ABC();
});
function ABC() {
if (someelse == 0) {
alert('onload');
} else alert('onclick');
}发布于 2012-09-26 01:32:06
函数中的Pass boolean argument,以了解它是在加载时调用还是从其他地方调用
jQuery(document).ready(function(){
function ABC(isOnLoad) {
//many code here
if(isOnLoad){
//if by click, do some code.
//if by page loading, do not run these code.
alert('ok');//check if it works.
}
}
$(document).ready(function() {
ABC(true);
});
$('#click').click(function() {
ABC(false);
});
});https://stackoverflow.com/questions/12588052
复制相似问题