#javascript #jquery #internet-explorer-7
#javascript #jquery #internet-explorer-7
Вопрос:
Я пытаюсь получить аналог DOM объекта jQuery, чтобы установить onclick, поскольку IE7 не поддерживает .attr(‘onclick’) .
Однако у меня возникли некоторые проблемы:
var button0 = $('#idElement').next().find('input').get(0);
var originalOnClick = button0.onclick;
var newOnClick = function() {
return false;
}
button0.onclick = newOnClick;
Button0 не определено, и я не уверен, почему. get(0) должен получить элемент dom.
<select id="idElement">(Bunch of options here)</select>
<div>
<input type="button"/>
</div>
Комментарии:
1. Как выглядит ваш dom? Не могли бы вы также опубликовать соответствующую html-разметку? Как насчет chrome и ff работает этот код, вы не упомянули в своем сообщении. если это не определено, то, конечно, следующий элемент не содержит этого ввода.
2. Я добавил соответствующую разметку.
3. $(‘#idElement’).next().find(‘ввод’) работает в Chrome и Firefox. Он находит входной элемент, который я хочу извлечь. Я не думаю, что .find() работает в Internet Explorer 7
4. Ваша версия jQuery не должна быть
2.0
эта версия не поддерживает устаревшие браузеры IE 6,7,8. Обязательно загрузите jQuery версии 1.0 . Или вы можете использоватьjQuery's migrate plugin too.
.5. В настоящее время я использую 1.11.1. То, что опубликовал Coby, работает, хотя .find() ничего не может найти в IE7.
Ответ №1:
var newOnClick = function(){
return false;
};
var $input = $('#idElement div input');
$input[0].setAttribute('onclick','');
$input.on('click', newOnClick);
JSFiddle: http://jsfiddle.net/tBV7A /