Как передать аргумент в функцию, но не исполнить ее (addEventListener)
with(lis[i].getElementsByTagName('img')[0]) { addEventListener('mouseover', instance.Stop(i), false); // i - это цикл addEventListener('mouseout', instance.Continue,false); } this.Stop = function (a) { end = true; lis[index].className = '' this.parentNode.className = 'active' } Как мне передать аргумент в instance.Stop, но при этом не исполнить ее? Иначе, выдает ошибку насчет этого: this.parentNode.className = 'active' |
ES5:
instance.stop.bind(instance, i)либо: (function(i){ return function(){ instance.stop(i) } })(i) С каких пор в JavaScript стал использоваться PascalCase ? |
danik.js,
PascalCase что это? И спасибо за bind |
camelCase = javaScriptStyle
PascalCase = CSharpStyle или типа того |
бро ты я смотрю совсем соскучился))
\пиши в личку я пока тут сижу http://vk.com/id202822507 |
п.с.
var q = "Ашот"; function ololo (name){ alert(name) } addEventListener('click', function(){ ololo(q) }) |
за место
addEventListener('click', ololo(q) ) пишешь addEventListener('click', function(){ ololo(q) }) или addEventListener('click', ololo.bind(null, q) ) а конкретно в твоем случае danik.js правильно подсказал) надо ЗНАЧЕНИЕ i брать в замыкание ну а в обычных случайх пойдет и как я показал |
danik.js,
ааа...ты спришваешь почему я начинаю с большой буквы? Потому что моя ide выделила слово stop как зарезервированное, и continue тоже, я не стал эксперементировать, и написал с большой |
Ну stop вроде не зарезервировано. А с continue были бы проблемы в IE7-8. До чего ж он туп, этот ишак. Хотя можно так: instance['continue']
|
danik.js,
Помойму все конфликты как раз и решаются начинанием с одной большой заглавной буквы) |
Часовой пояс GMT +3, время: 04:55. |