Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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 无法使用触发器()获取事件目标_Javascript_Jquery - Fatal编程技术网

Javascript 无法使用触发器()获取事件目标

Javascript 无法使用触发器()获取事件目标,javascript,jquery,Javascript,Jquery,如果我用trigger()调用事件目标,有人能告诉我为什么无法获取它吗 我得到了这个HTML: <span class="test_span" onmouseover="Test()"> test </span> 如果运行它,我将得到错误: 未捕获的TypeError:无法读取未定义的属性“target” 但如果我用鼠标悬停元素,它将返回: <span class="test_span" onmouseover="Test()"> test

如果我用trigger()调用事件目标,有人能告诉我为什么无法获取它吗

我得到了这个HTML:

<span class="test_span" onmouseover="Test()">
    test
</span>
如果运行它,我将得到错误:

未捕获的TypeError:无法读取未定义的属性“target”

但如果我用鼠标悬停元素,它将返回:

<span class="test_span" onmouseover="Test()">
    test
</span>

测试
我怎样才能解决这个问题?我需要用触发器模拟点击并得到对象。 试试这个

$('.span_width').on('mouseover', function(e) {
    var target = e.target || window.event.srcElement;
    console.log(target);
});
试试这个

$('.span_width').on('mouseover', function(e) {
    var target = e.target || window.event.srcElement;
    console.log(target);
});

不要使用
内联
事件处理程序。在
上使用

请参阅代码中的内联注释

HTML:


演示:

不要使用
内联事件处理程序。在
上使用

请参阅代码中的内联注释

HTML:

演示:

你可以试试这个,这将是简单的使用


您可以试试这个,这将是一个简单易用的

窗口。事件
是MSIE。使用
var evt=e | | window.event并使用
onmouseover=“Test(event)”>
传入事件对象。不要使用
内联处理程序。使用
var evt=e | | window.event并使用
onmouseover=“Test(event)”>
传入事件对象。不要使用
内联处理程序
是的,这是一个很好的解决方案。但对我来说不起作用。关键是我有多个调用Test()的对象,调用Test()的对象是我的目标。在这种情况下,既然
.span\u width
是我想要的,我就必须做好准备。你知道怎么做吗?我真的不能这样:
Test(event)
@Pierezzz您可以使用
$('.span_-width,myotherl,oneMore')。在('mouseover',…
是的,这是一个很好的解决方案。但在我的情况下不起作用。问题是,我有多个对象将调用Test(),即调用Test()的对象是我的目标。在这种情况下,我现在必须准备好
。span_width
是我想要的。你知道怎么做吗?我真的不能这样:
测试(事件)
@Pierezzz你可以使用
$('.span_width,myOtherEl,oneMore')。在('mouseover',…
<span class="span_width"><!-- Remove onmouseover="Test()" -->
    test
</span>
// on mouseover of span_width
$('.span_width').on('mouseover', function (e) {
    // Use event object to get target
    console.log(e.target);
}).trigger('mouseover');
// Trigger mouseover event
$(".test_span").mouseover(function(){
    var target = window.event.target || window.event.srcElement;    
    alert(target);
});