Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在不将jQuery事件绑定到元素的情况下使用它?_Javascript_Jquery_Javascript Events - Fatal编程技术网

Javascript 如何在不将jQuery事件绑定到元素的情况下使用它?

Javascript 如何在不将jQuery事件绑定到元素的情况下使用它?,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,我需要使用wjQuery事件mouseleave,注意您可以将它绑定到一个元素,比如执行代码 $('#outer').mouseleave(function() { $('#log').append('<div>Handler for .mouseleave() called.</div>'); }); $(“#外部”).mouseleave(函数(){ $('#log').append('Handler for.mouseleave()已调用'); });

我需要使用wjQuery事件
mouseleave
,注意您可以将它绑定到一个元素,比如执行代码

$('#outer').mouseleave(function() {
    $('#log').append('<div>Handler for .mouseleave() called.</div>');
});
$(“#外部”).mouseleave(函数(){
$('#log').append('Handler for.mouseleave()已调用');
});
但我不想这样做,因为我需要在页面头或JS文件中包含这些内容,以便为每个页面加载


我希望它只能内联使用,就像您可以处理其他JavaScript事件一样,如
onclick
onchange
等。。。。你能用这个做同样的事吗?如果是这样,如何将代码放置在所需页面页脚的内联
标记中(即,在要添加处理程序的元素之后)。

将其作为委派事件添加到站点布局/模板中
部分的
块中,即:

<head><script type="text/javascript">
$(document).ready(function() {
    $('body').on('mouseleave', '#outer', function() { /** Your Log code **/ });
});
</script></head>

$(文档).ready(函数(){
$('body').on('mouseleave','#outer',function(){/**您的日志代码**/});
});

mouseleave
并非所有浏览器都支持它(我相信只有IE支持)。为什么要使用内联事件?如果您必须这样做,您可以在需要它的元素之后立即包含一个
,而不是包含在每个页面中。
If($(“#outer”).length==1)//从jQuery网站分配处理程序
@FelixKling yes and no::“mouseleave JavaScript事件是Internet Explorer专有的。由于该事件的通用工具,jQuery模拟该事件,因此无论浏览器如何,都可以使用该事件。当鼠标指针离开元素时,此事件被发送到元素。任何HTML元素都可以接收此事件。“@Brett,jQuery方法$()返回一个围绕所选元素集的jQuery包装器。如果找不到匹配的元素,它只是一个空的jQuery集,并对其执行进一步的操作(如调用.mouseleave)没有效果。它们不会抛出错误。这将在每次鼠标离开元素时运行。此问题不需要委派。他的目标是不必在每个页面上添加绑定事件。委派解决了此问题,并使他有机会在单个位置定义JS事件处理程序。他可以轻松移动t代码添加到一个JS文件,该文件可以包含他站点所需的更多对象/代码。我想你误解了问题和委托。这与在页面上添加一个常规事件处理程序(附加到1元素)有什么不同?我不明白你想做什么。@Archer,这取决于你的定义“第页”的开头“。一个页面可以是一个单独的网页,也可以是一个子页面,它可以像jQM那样通过ajax进行切换。但是,即使这样,这也可能不是绑定一个事件处理程序的最好方法,因为它一次只影响一个元素。问题很简单。假设他使用某种MVC模式,他会有一个站点模板/布局文件,每个页面都有自己的视图文件。他不想给每个视图文件添加代码。我只是假设
#outer
元素是动态的,或者没有包含在每个页面上。如果不是这样,那么就不需要授权。