событие с динамически создаными обьектами
Доброго времени суток.
Столкнулся с такой проблеммой, что нужно скрыть обьект который только что был добавлен с помощью js.Но проблемма в том что для делегируемых обьектов запись $('#block').hide()не работает. Нужно както так : $(document).on('hide','#block',function(){ }) только это не работает т.к. метод on обрабатывает только события Подскажите как правильно сделать, гугл адекватного ничего не видает, а проблемма у когото по любому встречалась. |
|
Сергей Бурлака, элемент вам на страницу не боженька спускает. Он, очевидно, появляется в результате действия какой-либо функции. Этой функции добавьте в функционал и сокрытие.
А вообще, если нужно скрыть элемент заранее, то что вам мешает в стилях написать #block{display: none} ? |
Цитата:
придумал другое решение: $(document).on("mouseover",function(){ //тело ф-ции }) всё работает верно, но мне чтото подсказывает что привязывать on к mouseover не лучшая идея, т.к. при передвижении мышки будет заново выполнятся тело ф-ции, что может сказатся на работе сервера. Но т.к. я в этом не уверен хочу спросить: есть ли плохо такая привязка? |
Как называется та религия, что мешает вам поправить "код другого программиста", если вы даже нашли нужное место? Серьёзно, эта религия шагает по миру семимильными шагами, а я даже названия не знаю.
А по поводу mouseover - очевидно, что функция выполняется каждый раз как мышь переместилась с одного элемента на другой. Если в ней есть обращения к серверу, то пользовательский флешмоб на тему дрыгания мышки сможет положить сервер. С тем же успехом вы могли бы использовать setInterval. |
Цитата:
А если нету обращения к серверу? то все будет норм??:-? |
Без сервера - максимум у юзера браузер залагает. И то для этого нужны серьёзные вычисления запускать. Скорее всего ничего не будет.
Но это говнокод, и вас наверняка неоднократно проклянут последующие программисты. |
Часовой пояс GMT +3, время: 19:04. |