Как отключить подсказку в браузере с jQuery?

У Ruby есть превосходный камень обещания . Ваш пример будет выглядеть так:

require 'future'

def method_one
...
def method_nth

def summary
  result1 = future { method_one }
  ......
  resultn = future { method_nth }
  collect_results result1, ..., resultn
end

Просто, не правда ли? Но давайте перейдем к более подробной информации. Это объект будущего:

result1 = future { method_one }

Это означает, что result1 оценивается в фоновом режиме. Вы можете передать его другим методам. Но result1 пока не дал никакого результата, он все еще обрабатывается в фоновом режиме. Подумайте о том, чтобы обойти Нить. Но главное отличие в том, что в тот момент, когда вы пытаетесь прочитать его, вместо того, чтобы передавать его, он блокирует и ждет результата в этой точке. Таким образом, в приведенном выше примере все переменные result1 .. resultn будут обрабатываться в фоновом режиме, но когда придет время собирать результаты и когда вы попытаетесь фактически прочитать эти значения, чтение будет ожидать завершения запросов на этот момент.

Установите драгоценный камень promise и попробуйте следующее в консоли Ruby:

require 'future'
x = future { sleep 20; puts 'x calculated'; 10 }; nil
# adding a nil to the end so that x is not immediately tried to print in the console
y = future { sleep 25; puts 'y calculated'; 20 }; nil

# At this point, you'll still be using the console!
# The sleeps are happening in the background

# Now do:
x + y
# At this point, the program actually waits for the x & y future blocks to complete

Редактировать: опечатка в result, должна была быть result1, изменить echo на puts

19
задан alex 4 September 2011 в 01:32
поделиться

3 ответа

Вы можете удалить атрибут title при загрузке страницы.

$(document).ready(function() {
    $('[title]').removeAttr('title');
});

Если вам понадобится использовать заголовок позже, вы можете сохранить его в данных jQuery элемента () .

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

Другой вариант - изменить имя атрибута title на aTitle или что-то еще, что браузер будет игнорировать, а затем обновить любой JavaScript для прочтите имя нового атрибута вместо title .

Обновление:

Интересная идея, которую вы могли бы использовать, - «лениво» удалить заголовок при наведении курсора на элемент. Когда пользователь наводит указатель мыши на элемент, вы можете вернуть значение заголовка.

Это не так просто, как должно быть, потому что IE этого не делает. • правильно удалить всплывающую подсказку при наведении курсора, если вы установили для атрибута title значение null или удалили атрибут title. Однако, если вы установите для всплывающей подсказки пустую строку ( "" ) при наведении курсора, всплывающая подсказка будет удалена из всех браузеров, включая Internet Explorer.

Вы можете использовать упомянутый выше метод, чтобы сохранить атрибут title в методе jQuery data (...) , а затем вернуть его в mouseout .

$(document).ready(function() {
    $('[title]').mouseover(function () {
        $this = $(this);
        $this.data('title', $this.attr('title'));
        // Using null here wouldn't work in IE, but empty string will work just fine.
        $this.attr('title', '');
    }).mouseout(function () {
        $this = $(this);
        $this.attr('title', $this.data('title'));
    });
});
53
ответ дан 30 November 2019 в 01:58
поделиться

Вы можете использовать jQuery для удаления содержимого атрибута заголовка или переместить его в какой-либо другой параметр для дальнейшего использования.

Это означает, что вы теряете некоторую доступность.

RE : ClueTip Поиск в Google, кажется, предполагает, что это обычная проблема - это происходит только в IE? ClueTip, похоже, работает должным образом в FireFox.

3
ответ дан 30 November 2019 в 01:58
поделиться

Взломайте ClueTip , чтобы использовать переименованный атрибут заголовка.

1
ответ дан 30 November 2019 в 01:58
поделиться
Другие вопросы по тегам:

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