是否可以知道从哪个jQuery函数启动?
<div>
<script language="javascript">
$(document).ready(function () {
whereAmI($(currentDIV));
});
</script>
</div>
答案 0 :(得分:0)
如果某个事件正在调用该函数,则第一个参数是Event object,您可以编写类似的内容。
$('a').click(function(e){
console.log(e.target);
});
答案 1 :(得分:0)
没有任何内容可以保存您加载当前正在执行的JavaScript的DOM位置。但是,您可以使用脚本在加载时执行以实现此内存的事实:
<div id="target">
<script>
var thisScript1 = $('script').filter(':last');
$(document).ready(function () {
console.log(thisScript1.closest('div').attr('id')); // prints 'target'
});
</script>
</div>
<div id="second">
<script>
var thisScript2 = $('script').filter(':last');
$(document).ready(function () {
console.log(thisScript2.closest('div').attr('id')); // prints 'second'
});
</script>
</div>
这里,$('script').filter(':last');
指的是页面上的最后一个脚本元素,在执行时是“当前脚本”。请注意,对于我想记住的每个脚本,我已经命名了以不同方式包含脚本对象的变量,否则它将被后续脚本破坏。另一种方法是将每个脚本包装在一个立即执行的匿名函数中,以便绑定本地thisScript
变量。