Как в функцию-обработчик добавить дополнительный аргумент?
Здравствуйте!
Допустим, внутри какой-то функции есть такой код: 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, время: 15:55. |