powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не работает unbind hover
9 сообщений из 9, страница 1 из 1
Не работает unbind hover
    #38592584
igor74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такой код, встроенный в систему

Код: javascript
1.
2.
3.
4.
function setRowHighlight(a) {
	apex.jQuery("#report_" + a + " .highlight-row").live("hover", function(b) {
		if (b.type == "mouseenter") {
...



html с обычной структурой тегов стандартных
Код: html
1.
2.
<tr class="highlight-row">
  <td> ...



Задача прибить этот обработчик live hover

Делать я это пытаюсь всевозможными способами

Код: javascript
1.
2.
3.
4.
apex.jQuery(".highlight-row").unbind().die().unbind('mouseenter').unbind('mouseleave');
$(".highlight-row").unbind().die().unbind('mouseenter').unbind('mouseleave');
$("*").unbind().die();
apex.jQuery("*").unbind().die();



Не работает :(

jQuery библиотека загружена в ед. экземпляре, там как-то алиасы назначены
Версия:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
>>> jQuery.fn.jquery;

"1.6.2"

>>> apex.jQuery.fn.jquery;

"1.6.2"



Проверяю что не работает в opera dragonfly console
Делаю точки останова скриптов в соответствующих 2-х строках
Код: javascript
1.
2.
3.
function setRowHighlight(a) {
	apex.jQuery("#report_" + a + " .highlight-row").live("hover", function(b) {
		if (b.type == "mouseenter") {



Устанавливается прерывание каждый раз на 3-тьей строке, при перемещении мышкой над строкой таблицы, на второй строке никогда не останавливается, т.е. таймерами и прочими событиями, я так понимаю, hover повторно не вызывается.

Есть какие-нибудь идеи, почему не получается снять обработчик и как это сделать ?
...
Рейтинг: 0 / 0
Не работает unbind hover
    #38592597
igor74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл сказать, вызываю я команды

unbind, die ...

прямо из консоли opera drogonfly, никогда с этим проблем не было

вот, например, мои собственные обработчики на эту страницу

Код: javascript
1.
apex.jQuery(".highlight-row").hover(function(){alert('1')},function(){alert('2')});



вешаются без проблем, и снимаются тоже

Код: javascript
1.
apex.jQuery(".highlight-row").unbind().die()



а тут в упор не хочет :(
...
Рейтинг: 0 / 0
Не работает unbind hover
    #38592656
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor74вот, например, мои собственные обработчики на эту страницу
Код: javascript
1.
apex.jQuery(".highlight-row").hover(function(){alert('1')},function(){alert('2')});


вешаются без проблем, и снимаются тоже
Код: javascript
1.
apex.jQuery(".highlight-row").unbind().die()


а тут в упор не хочет :(
Твои обработчики вешаются один раз и на сам элемент.

А в примере выше идет установка т.н. "живого события". Т.ч. удаляться оно должно так же, как и ставилось...
...
Рейтинг: 0 / 0
Не работает unbind hover
    #38592659
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor74Есть такой код, встроенный в систему
Код: javascript
1.
2.
3.
4.
function setRowHighlight(a) {
	apex.jQuery("#report_" + a + " .highlight-row").live("hover", function(b) {
		if (b.type == "mouseenter") {
...


И удалять нужно так же
Код: javascript
1.
2.
3.
function setRowHighlight(a) {
	apex.jQuery("#report_" + a + " .highlight-row").die("hover");
...
...
Рейтинг: 0 / 0
Не работает unbind hover
    #38592664
igor74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,

Через live тоже вешатеся
Код: javascript
1.
apex.jQuery(".highlight-row").live('hover',function(){alert('1')},function(){alert('2')});



и удаляется,
Код: javascript
1.
apex.jQuery(".highlight-row").unbind().die();



но удаляется только мой собственный обработчик при этом, встроенный остается,
вижу не только через точки останова, но и визуально, т.к. там подсветка реализована во встроенном...
...
Рейтинг: 0 / 0
Не работает unbind hover
    #38592674
igor74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,

проблема в том, что там функция встроенная, я не могу в неё поместить код, но могу выполнить любой другой скрипт в другом месте, который сработает позже вызова той функции
...
Рейтинг: 0 / 0
Не работает unbind hover
    #38592700
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor74 , менгьше слов, а больше тестовых примеров...
...
Рейтинг: 0 / 0
Не работает unbind hover
    #38592761
igor74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaИ удалять нужно так же

Нашел, действительно, вот так вот срабатывает

Код: javascript
1.
apex.jQuery("#report_R12911405066813945 .highlight-row").unbind().die();



а вот так вот нет
Код: javascript
1.
apex.jQuery(".highlight-row").unbind().die();



нашел почему

https://api.jquery.com/die/ Note: In order for .die() to function correctly, the selector used with it must match exactly the selector initially used with .live().

Спасибо за подсказку
...
Рейтинг: 0 / 0
Не работает unbind hover
    #38592775
igor74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
igor74,

Решил проблему "поиском" селекторов

Код: javascript
1.
$('[id^="report_"]').each(function() { $("#" + $(this).attr("id") + " .highlight-row").unbind().die(); });



подходящих под спецификацию

Код: javascript
1.
2.
3.
4.
function setRowHighlight(a) {
	apex.jQuery("#report_" + a + " .highlight-row").live("hover", function(b) {
		if (b.type == "mouseenter") {
...
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не работает unbind hover
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]