Скройте вход = “изображение” если изображение src не найденный

Я использую следующую функцию JavaScript для сокрытия изображений на моей веб-странице, если исходное изображение не найдено:

function Image_OnError(image) {
    image.onerror = "";
    image.style.visibility = "hidden";
    return true;
}

Я добавляю следующий атрибут к своим изображениям, который называет вышеупомянутый метод в случае ошибки onerror="Image_OnError(this);".

Проблема состоит в том, что я должен сделать то же для <input type="image" /> элементы, но не могут выяснить, как сделать это, поскольку входной элемент, кажется, не имеет OnError событие.

Я мог просто включать дополнительное изображение с тем же значением src как вход и затем изменить видимость входного элемента на событии OnError изображения, но это кажется немного грязным.

8
задан Matthew Dresser 22 February 2010 в 10:57
поделиться

2 ответа

Если вы хотите полу-взлом, вы можете использовать событие jQuery "document.ready" и проверить высоту ввода.

РЕДАКТИРОВАТЬ: В ответ на ваш ответ на вопрос Авиатора выше ... Вы можете просто использовать asp: LinkButton и обернуть изображение внутри него как содержимое ... а затем использовать OnCommand события LinkButton.

2
ответ дан 6 December 2019 в 01:40
поделиться

При использовании процедурного стиля следует передать $ stmt в mysqli_stmt_bind_param, mysqli_stmt_execute, mysqli_bind_result и т.д.

mysqli_stmt_bind_param($stmt, "s", $region);
mysqli_stmt_execute($stmt);
mysqli_bind_result($stmt, $result);
while (mysqli_stmt_fetch($stmt)) {
    print_r($result);
}
-121--1948933-

Если у вас есть jUnit 4.7 +, я рекомендую изучить новую функцию под названием Правила (которая объясняется в этом блоге ). Они могут быть не совсем такими, какими вы хотите, но они, вероятно, лучшее, что вы получаете с jUnit.

Предположительно, Test NG имеет лучшие возможности для группирования тестов, но я на самом деле еще не изучил это сам.

-121--4378517-

Имеет то же самое событие ошибки. Это работает для меня (по крайней мере, в хроме):

<input type="image" onerror="alert(1);" src="http://xxx" />

Другой возможный способ - загрузить изображение в JS:

при загрузке документа:

$('input[type="image"]').each(function(){
    var img = new Image();
    var input = this;
    img.onerror = function() { Image_OnError(input); }
    img.src = this.src;
})

Кроме того, лучше скрыть их от начала и показать только элементы с успешно загруженным изображением. В противном случае вы, вероятно, будут элементы прыгать на странице.

0
ответ дан 6 December 2019 в 01:40
поделиться
Другие вопросы по тегам:

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