Как в функцию-обработчик добавить дополнительный аргумент?
Здравствуйте!
Допустим, внутри какой-то функции есть такой код:
this.gObject = document.createElement("div");
this.object = {var1:1};
Теперь мне нужно добавить обработчик события onmousedown. В качестве аргумента может быть само событие:
this.gObject.onmousedown = function (event) {}
А можно передать и указатель на тот объект:
this.gObject.onmousedown = function (obj) {
return function() {
}
} (this.object);
Но как сделать так, чтобы в функцию было передано событие (event) и указатель на объект (this.object)? Спасибо! |
Использовать лексические переменные
<html>
<head>
<meta charset="utf-8">
<style>
</style>
</head>
<body>
<script>
Element = {
value: 1,
create: function(tagName, text){
var o = Object.create(this)
o.element = document.createElement(tagName)
o.element.innerHTML = text
o.element.onclick = function(){alert([this.innerHTML, o.value])}
document.body.appendChild(o.element)
}
}
Element.create("div", "foo")
</script>
</body>
</html>
|
Оказалось, что в моем случае, в обработчике события в arguments[0] хранится то самое событие мыши.
Так проблему и решил)))) |
| Часовой пояс GMT +3, время: 05:58. |