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内部设置函数时_Javascript_Html_Ajax - Fatal编程技术网

上厕所';事件';对象从javascript内部设置函数时

上厕所';事件';对象从javascript内部设置函数时,javascript,html,ajax,Javascript,Html,Ajax,我曾经定义了一个内联onmouseover()并使用了事件对象: <script> function foo(e, bar) { var x = e.clientX; var y = e.clientY; // do something with the coordinates and bar } </script> <div onmouseover="foo(event, 'barValue')"></div> 我不是在寻找使用JQ

我曾经定义了一个内联
onmouseover()
并使用了
事件
对象:

<script>
function foo(e, bar) {
  var x = e.clientX;
  var y = e.clientY;
  // do something with the coordinates and bar
}
</script>
<div onmouseover="foo(event, 'barValue')"></div>

我不是在寻找使用JQuery的解决方案。

您将收到evt作为侦听器的第一个参数(检查)。所以你可以简单地做:

var d = document.createElement("div");
d.onmouseover = function(evt) { foo(evt, dynamicBarValue); };

您将接收evt作为侦听器的第一个参数(检查)。所以你可以简单地做:

var d = document.createElement("div");
d.onmouseover = function(evt) { foo(evt, dynamicBarValue); };

您正在使用On Event handler Properties语法添加事件。但是,您正试图使用语法覆盖JS代码中的事件(属性)
d.onmouseover=function()…

您已经在HTML属性中指定了事件
此代码将函数
foo
mouseover
事件绑定。当您尝试在JS文件中再次添加
d.onmouseover
事件时,它将重写属性并为事件创建新的处理程序

因此,您只需要在HTML代码或JS代码中定义属性

此外,第一个参数是事件信息

将事件处理程序指定为HTML属性时 指定的代码被包装到具有以下内容的函数中 参数:

事件-适用于除onerror之外的所有事件处理程序。
事件、源、行号、, colno和onerror事件处理程序的错误。请注意,事件 参数实际上以字符串形式包含错误消息

因此,只要定义一个事件处理程序,就可以达到预期的效果

函数foo(e,bar){
var x=e.clientX;
变量y=e.clientY;
//用坐标和条做些什么
console.log(x,y,bar)
}

Test
您正在使用On事件处理程序属性语法添加事件。但是,您正试图使用语法覆盖JS代码中的事件(属性)
d.onmouseover=function()…

您已经在HTML属性中指定了事件
此代码将函数
foo
mouseover
事件绑定。当您尝试在JS文件中再次添加
d.onmouseover
事件时,它将重写属性并为事件创建新的处理程序

因此,您只需要在HTML代码或JS代码中定义属性

此外,第一个参数是事件信息

将事件处理程序指定为HTML属性时 指定的代码被包装到具有以下内容的函数中 参数:

事件-适用于除onerror之外的所有事件处理程序。
事件、源、行号、, colno和onerror事件处理程序的错误。请注意,事件 参数实际上以字符串形式包含错误消息

因此,只要定义一个事件处理程序,就可以达到预期的效果

函数foo(e,bar){
var x=e.clientX;
变量y=e.clientY;
//用坐标和条做些什么
console.log(x,y,bar)
}

测试
正是我想要的。谢谢,正是我想要的。谢谢