OnChange не стреляет в IE

Я хочу запустить событие Onchange для всех изменений элементов формы в DIV

Вот фрагмент

<html>
<body>

<div id="container">
    <input type="checkbox"/>
    <input type="checkbox"/>
    <input type="text"/>
    <input type="text"/>
</div>

<script>
di = document.getElementById("container");
di.onchange = function(a){
alert("On Change Called");
}

di.onclick = function(a){
 alert("On Click Called");
}

</script>

</body>
</html>

Событие запускается, когда фокус теряется с любого из элементов формы на новый элемент формы, когда обновляется некоторое содержимое (например, поле ввода обновляется)

Приведенный выше код отлично работает для всех браузеров & apos; но не для IE, любой способ сделать это IE

 xivo04 июн. 2012 г., 06:03
Я рекомендую использовать jQuery, чтобы избежать кросс-браузерных проблем, но это не значит, что вам следует пропустить тестирование.Jquery on Change reference here. Скотт Леберкнайт на onChangehttp://www.nofluffjuststuff.com/blog/scott_leberknight/2005/04/onclick_versus_onchange_in_ie_and_firefox
 Strelok04 июн. 2012 г., 06:09

Ответы на вопрос(6)

используя Javascript. Вы можете повторить это соответственно.

Add ondrop event in HTML to call the function being called now, instead of onchange.

Add the following code in your js file

document.getElementById('--your selector--').ondragover = handle;

function handle(evt)
{
     evt.stopPropagation();
     evt.preventDefault();
     evt.dataTransfer.dropEffect = 'copy'
}

The ondragover will be made false by above code, and then ondrop will fire on all browsers and call the required function

.focus() или же.select() до.change() функцияjquery для IE, то он работает нормально, я использую его на моем сайте.

Спасибо

и я исправил ее с помощью EventListener.

Мой код выглядел так:

HTML:

<input type="text" id="my_id" name="my_name" placeholder="my_placeholder" onchange="my_function(this.value.trim())" autofocus>

Затем я изменил это на:

HTML:

<input type="text" id="my_id" name="my_name" placeholder="my_placeholder" autofocus>

JS:

document.getElementById("my_id").addEventListener("change", function() {
    my_function(this.value.trim())
});

onchange событиене пузырится в IE в соответствии с MSDN.

 06 мар. 2019 г., 16:52
Эта ссылка больше не ссылается на MSDN, она указывает на собственные документы Mozilla, в которых утверждается, что событие onChange поддерживается в Internet Explorer.

ой .. да старая версия IE иногда не стреляетonChange событие и заменив егоonClick работает.

Но этого не ожидается в последней версии IE 11. В моем случае я обнаружил, что вызывается имя функции.onChange Событие где-то сталкивалось. Я просто изменил его на какое-то другое имя, которое должно звучать как уникальное во всем контексте, тогда это сработало.

Conclusion: IE 11 getting confused when finds some similar names within the system matching with the onchange target function (even the file names I guess), while the other browsers are intelligent enough.

 13 апр. 2017 г., 08:43
В моем случае мой компьютер, работающий под управлением Windows 10 + IE11 (KB3203621), onchange сработал отлично. Но когда я внедряю его в производство, тестирование проводится на Windows 7 + IE11 (KB2841134), onchange отказывается работать. Но каким-то образом onKeyPress работал на обеих машинах разработчика и разработки. производственная среда. Может ли это быть связано с этой версией обновления?
 17 апр. 2017 г., 05:11
@mutanic yeh .. скорее всего .. они исправили это, но в последней версии.

onchange Событие очень хорошо. Я рекомендую вам использоватьonclick событие.

 03 июл. 2014 г., 21:21
Отлично, это решило мою проблему. Нет необходимости использовать JQuery.

Ваш ответ на вопрос