<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js">
</script>
<script type="text/javascript">
$(window).load( function(){ console.log('Loading finished.'); } );
console.log($(window).load);
</script>
在chrome-&gt;控制台中,它显示:
function (e,n,r){if("string"!=typeof e&&Sn)...
Loading finished.
问题:
在上面的脚本中,这一行:$(window)
...位于顶部,为什么它的输出不在开头?
其实我想检查事件加载中的处理程序,它应该是function(){ console.log('Loading finished.'); }
所以:
一个。如何输出事件处理程序?
湾输出(function (e,n,r)...)
是什么意思?
答案 0 :(得分:2)
您可以使用$ ._ data events数组:{在较旧的jquery版本中为$ .data}
var dataLoad = $._data(window, 'events').load;
for (var i = 0, z = dataLoad.length; i < z; i++)
console.log($._data(window, 'events').load[i].handler);
答案 1 :(得分:1)
在上面的脚本中,这一行:$(window)...在顶部,为什么它的输出不在开头?
这是因为你刚刚将事件监听器绑定到窗口变量。 load
函数不是即时调用的,但是在浏览器完成加载完整的HTML时会调用它。你的第二个陈述不是一个事件,因此它会立即执行,因此你会看到输出。
输出(函数(e,n,r)......)是什么意思?
当您将一个函数对象打印到控制台时,JS将对整个函数及其正文进行格式化。
一个。如何输出事件处理程序?
我真的没有得到你想要的东西。
答案 2 :(得分:0)
$(window).load( function(){ console.log('Loading finished.'); } );
上面的语句将您的函数绑定到Window Load事件,因此当Window加载时,您的函数将运行。
console.log($(window).load);
上面的语句打印输出到控制台,什么是$(window).load,像这样
$(window)
是表示Window的对象,
.load
是window对象的事件/函数,因此输出为(function(e,n,r)...)。在简单语言中,load是带有3个参数的函数
希望你理解