为什么使用jQuery;绑定";及;关于;始终执行,其中";addEventListener";不';T

为什么使用jQuery;绑定";及;关于;始终执行,其中";addEventListener";不';T,jquery,Jquery,我的意图是让代码在“窗口加载”时执行一次,在每次触发“调整大小”事件时执行一次 jQuery事件监听器(包括“加载”和“调整大小”)在页面加载时执行,而不调整窗口大小 而“addEventListener”代码按预期执行。 “加载”代码在加载时执行。 调整窗口大小时执行“调整大小”代码 有人能解释一下为什么吗?那么jQuery的解决方案是什么 <!doctype html> <html lang="en"> <head> <meta charse

我的意图是让代码在“窗口加载”时执行一次,在每次触发“调整大小”事件时执行一次

jQuery事件监听器(包括“加载”和“调整大小”)在页面加载时执行,而不调整窗口大小

而“addEventListener”代码按预期执行。 “加载”代码在加载时执行。 调整窗口大小时执行“调整大小”代码

有人能解释一下为什么吗?那么jQuery的解决方案是什么

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="jquery-1.11.2.min.js"></script>
</head>
<body>
<script>
    $('window').bind('load', alert("Loaded Bind!"));
    $('window').bind('resize', alert("Resized Bind!"));

    $('window').on('load', alert("Loaded On!"));
    $('window').on('resize', alert("Resized On!"));


    window.addEventListener('load',onLoadAlert);
    window.addEventListener('resize',onResizeAlert);

    function onLoadAlert(){alert("Loaded No JQ")}
    function onResizeAlert(){alert("Resize No JQ")}

</script>
</body>
</html>

文件
$('window').bind('load',alert('Loaded bind!'));
$('window').bind('resize',alert(“Resized bind!”);
$('window')。在('load')、警报(“Loaded on!”);
$('window')。在('resize')上,发出警报(“Resized on!”);
window.addEventListener('load',onLoadAlert);
addEventListener('resize',onresizearert);
函数onLoadAlert(){alert(“Loaded No JQ”)}
函数onresizearert(){alert(“Resize No JQ”)}

立即执行警报,并将警报返回绑定为侦听器。。。。(
未定义
因此不绑定任何内容),您需要像在
中一样使用处理程序。addEventListener

$(window).bind('load', onLoadAlert);
$(window).bind('resize', onResizeAlert);

$(window).on('load', onLoadAlert);
$(window).on('resize', onResizeAlert);

这将使测试相等,结果也将相同。

您应该使测试用例相等。前四个调用
警报
,最后两个调用传入函数对象。这与
addEventListener
vs
上的
无关。感谢您的回复。我又添加了4个函数,并按照您的建议传递了它们,但结果是它们永远不会执行?@Deithrian,而是设置一个JSFIDLE,不要使用Pastebin来共享示例代码段没有类型为
window
window
的元素是一个对象,使用
$(window)。on('load',handler)例如,谢谢你A.沃尔夫!希望devnull能够更正答案中的('window')。