将参数传递给onmouseover事件
pass parameter to onmouseover event
我试图传递一个参数onmouseover事件,像这样:
function obj(id){
if (!(this instanceof obj)) return new obj(id);
this.element = (typeof id === 'string') ? document.getElementById(id) : id;
}
obj.prototype.call = function(content){
this.element.addEventListener('mouseover',function(){
console.log(content); // => undefined
// My mistake is right here.
var content = 'Hello';
},false);
};
//Edit
function temp(){}
temp.prototype.content = function(){
return 'Hello World';
};
var temp = new temp();
obj('id').call(temp.content());
我不明白为什么变量content
是undefined
。还有,我怎样才能弥补呢?
谁来帮帮我。我真的很感激。
我猜,你的回调是在不同的作用域或类似的东西执行的。
尝试使用闭包:
obj.prototype.call = function(content){
this.element.addEventListener('mouseover',(function(content){
return function(){
console.log(content); // => undefined
};
})(content),false);
};
适合我:http://jsfiddle.net/ANB3z/
要么你的id是无效的(在这种情况下,你会得到一个不同的错误),或者你看到的"未定义"消息是在控制台中运行脚本本身的结果,而不是mouseover
事件
相关文章:
- onmouseover事件行为不端
- chrome中的onmouseover(下拉选项标记)事件不起作用-php,javascript
- 在onmouseover事件中更改图像,并为每个事件设置中断/间隔
- 结合onmouseover事件和<a>标签
- Javascript:在每个onmouseover事件之后执行2个函数
- 如何在 JavaScript 中的元素上触发 Onmouseover 事件
- GraphDracula:如何检测onclick和onmouseover事件
- Javascript/Jquery删除和添加'onmouseover'setinterval上的事件
- php代码中的onmouseover和onmouseout事件;不起作用
- onmouseover事件仅在第二次鼠标悬停后才起作用
- onmouseover事件不起作用
- 鼠标传递选项时选择标记事件/使用onmouseover选择选项
- JavaScript 中的 onmouseover 和 onmouseout 事件
- onmouseover在click和mouseout事件之前触发
- onMouseOver,同时按下鼠标左键(事件)
- 如何让onmouseover交换事件一直保持到onmouseout,直到下一个onmousever事件
- 如何通过onmouseover事件停止jquery旋转木马
- 从一系列onMouseOver事件中创建一个循环
- Onmouseover和onmouseout事件在页面加载时触发,而不是在事件时触发
- 使用JavaScript,为什么我的onmouseover事件没有被触发