jQuery живое парение

Я использую следующий код jQuery, чтобы показать, что контекстное удаляет кнопку только для строк таблицы, мы толпимся с нашей мышью. Это работает, но не на строки, которые были добавлены с js/ajax на лету...

Существует ли способ сделать эту работу с прямыми трансляциями?

$("table tr").hover(
  function () {},
  function () {}
);
162
задан Danil Speransky 1 September 2012 в 08:02
поделиться

4 ответа

jQuery 1.4.1 теперь поддерживает "hover" для событий live(), но только с одной функцией обработчика события:

$("table tr").live("hover",

function () {

});

Альтернативно, вы можете предоставить две функции, одну для mouseenter и одну для mouseleave:

$("table tr").live({
    mouseenter: function () {

    },
    mouseleave: function () {

    }
});
245
ответ дан 23 November 2019 в 21:20
поделиться

Начиная с jQuery 1.4.1, событие hover работает с live(). По сути, это просто привязка к событиям mouseenter и mouseleave, что можно сделать и в версиях до 1.4.1:

$("table tr")
    .mouseenter(function() {
        // Hover starts
    })
    .mouseleave(function() {
        // Hover ends
    });

Это требует двух привязок, но работает так же хорошо.

5
ответ дан 23 November 2019 в 21:20
поделиться

Этот код работает:

    $(".ui-button-text").live(
        'hover',
        function (ev) {
            if (ev.type == 'mouseover') {
                $(this).addClass("ui-state-hover");
            }

            if (ev.type == 'mouseout') {
                $(this).removeClass("ui-state-hover");
            }
        });
5
ответ дан 23 November 2019 в 21:20
поделиться
$('.hoverme').live('mouseover mouseout', function(event) {
  if (event.type == 'mouseover') {
    // do something on mouseover
  } else {
    // do something on mouseout
  }
});

http://api.jquery.com/live/

110
ответ дан 23 November 2019 в 21:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: