Скройте собственную подсказку с помощью jQuery

3 ответа

Очевидно, атрибут title не подпадает под нормальный обработчик событий. В любом случае, мой первоначальный ответ не сработал, хотя я буду продолжать играть с ним, чтобы посмотреть, смогу ли я заставить его работать. Если вам нужно сохранить атрибут title, но вы не хотите эффекта всплывающего окна, как указано в ваших комментариях, сохраните атрибут title в данных элемента и используйте его оттуда.

$('[title]').each( function() {
    var $this = $(this);
    $this.data('title',$this.attr('title'));
    $this.removeAttr('title');
});

$('a').click( function() {
    var $this = $(this);
    var title = $this.data('title');
    ... do your other stuff...
});

Исходный ответ :

Дайте каждому элементу с заголовком определенный обработчик наведения указателя, который предотвращает действие по умолчанию.

$('[title]').hover(
   function(e) {
       e.preventDefault();
   },
   function() { }
);

За исключением случаев, когда тестирование не работает.

24
ответ дан 30 November 2019 в 07:08
поделиться

Очевидно, атрибут title не подпадает под обычный обработчик событий. В любом случае, мой исходный ответ не сработал, хотя я продолжу играть с ним, чтобы увидеть, смогу ли я заставить его работать. Если вам нужно сохранить атрибут title, но не хотите, чтобы эффект всплывающего окна, как указано в ваших комментариях, сохраните атрибут title в данных элемента и используйте его оттуда.

$('[title]').each( function() {
    var $this = $(this);
    $this.data('title',$this.attr('title'));
    $this.removeAttr('title');
});

$('a').click( function() {
    var $this = $(this);
    var title = $this.data('title');
    ... do your other stuff...
});

Исходный ответ :

4
ответ дан 30 November 2019 в 07:08
поделиться

Чтобы извлечь это из заголовка, я бы использовал метод data ():

$(document).ready( function () {
    $('.items_with_title').each( function () {
        $(this).data('title', $(this).attr('title') );
        $(this).removeAttr('title');
    });
});

// to access it
$(document).ready( function () {
    $('A').click( function () {
        alert($(this).data('title'));
    });
});

Вы также можете сделать селектор для любого элемента, у которого есть атрибут заголовка:

$('*[title]').each(...
2
ответ дан 30 November 2019 в 07:08
поделиться
Другие вопросы по тегам:

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