Цитата:
el.dataset.test = 1;то есть при таком вызове у элемента должен появится атрибут data-test="1" |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
devote, FINoM, у вас конструктор возвращает объект, который никак не связан ни с Data.prototype ни с comment. Я хз почему срабатывает alert, но вы точно что-то делаете не так.
|
Цитата:
Цитата:
|
Цитата:
|
Ну я же говорил, что не правильно:
comment = document.createComment(""); document.documentElement.firstChild.appendChild(comment); comment.onpropertychange = function () { alert() // алерт, ептеть } |
Цитата:
|
Цитата:
|
Цитата:
|
melky,
опробовал я твой вариант тот что ты указал в посте для мелких сайтов он конечно норм, но вот при большом количестве элементов на странице чуствуется довольно таки огромное падение производительности. Так как браузер перерисовывает документ при любых манипуляциях со стилями, даже если такого свойства нет в CSS то он вызывает все равно перерисовку. Я вот накидал примерный селектор: (function( window ){ var stylesheet = document.createStyleSheet(); function qSelector( selector ) { var elem, index = 0, result = []; if ( stylesheet.lastSelector !== selector ) { stylesheet.cssText = selector + "{testNativeSelector:1}"; stylesheet.lastSelector = selector; } if ( stylesheet.rules.length && stylesheet.rules[ 0 ].selectorText !== "UNKNOWN" ) { var elems = document.getElementsByTagName( "*" ); for( ;elem = elems[ index++ ]; ) { if ( elem.currentStyle.testNativeSelector ) { result[ result.length ] = elem; } } } else { throw new Error( "Syntax error: " + selector ); } return result; } window.qSelector = qSelector; })( window );можешь потестить, при 2000 элементов на странице, задержка на 2-3 сек в ИЕ7 и 1-2 сек в ИЕ8 |
Цитата:
Конечно, не панацея, но для "минимума" подойдёт. Я этот метод использовал как костыль matchesSelector. |
Цитата:
|
FINoM, ?
|
melky, я не догадался эту особенность IE так использовать.
|
Цитата:
|
То есть спайк - это кроссбраузерные события, кроссбраузерный qSA?
|
Цитата:
<!DOCTYPE html> <html> <head> <script type="text/javascript" src="http://code.spb-piksel.ru/spike.min.js"></script> </head> <body> <div id="mydiv" style="width: 100px; height: 100px; background: #00ff00">Кликни по мне</div> <script type="text/javascript"> document.querySelector('#mydiv').addEventListener('click', function(e) { alert("кликнули по элементу: " + e.target); }, false); </script> </body> </html> |
И ещё вопрос:)
Вот тут http://javascript.ru/tutorial/events/crossbrowser я взял когда-то готовый скрипт и пользовался. используя спайк он мне больше не нужен? |
Цитата:
|
Цитата:
|
Не знаю, является ли это багом, но вот какая ситуация:
если подключить спайк после кода function obj(){} obj.prototype.f1 = function(){alert("'привет")} obj.prototype.f2 = function(){alert("'привет")} obj.prototype.f3 = function(){alert("'привет")} То срабатывает функция f3 сама по себе. Короче последняя добавленная в прототип функция. Подключать надо самым первым, тогда всё в порядке. Но... чё это она срабатывает? |
хм.. как так? библиотека функции не трогает, зачем ей это...
может что-то другое у вас происходит? пройдитесь отладчиком, или дайте тест, киньте пример на какой нить хост и я посмотрю. |
Цитата:
|
Подозреваю, что вызывается функция:
a.prototype.f = function(){alert("asdasd")} (function(e,m){... То же самое, что и: a.prototype.f = function(){alert("asdasd")}(function(e,m){... Просто поставьте точку с запятой после объявления. a.prototype.f = function(){alert("asdasd")}; |
FINoM,
:)) Вчера читал статью о таких ошибках и думал "да кому это надо, все и так знают"... ыы Спасибо:) |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
А как отменить событие по умолчанию?
element.onclick = function(event) { event = event || window.event if (event.preventDefault) { event.preventDefault() } else { event.returnValue = false } } теперь хватит и этого ? event.preventDefault() |
Цитата:
element.onclick = function(event) { event = event || window.event if (event.preventDefault) { event.preventDefault() } else { event.returnValue = false } } А вот для такой конструкции, да хватает только event.preventDefault(): element.addEventListener('click', function(event) { event.preventDefault() }, false); Библиотека не знает ничего о функциях, которые повешаны на события элементов напрямую через атрибут. Поэтому там все по старинке. |
devote,
Всё настроил работает везде:), очень рад. А нет ничего подобного по кроссбраузерному ajax? |
Цитата:
|
Цитата:
Неужели не понятно, что я имел ввиду?:) А ещё было бы классно отправка файлов в фреймворке. |
Цитата:
это можно, с флешевым приложением. в тырнете есть такие костыли. ждём, может быть разработчик займётся этим |
Как быть с событиями oncontextmenu onscroll onmousewheel ?
Они в ие отказываются сотрудничать со мной.... |
Цитата:
|
Часовой пояс GMT +3, время: 14:36. |