В чем разница между onblur и onChange атрибутом в HTML?



когда один называется против другого? Есть ли ситуация, когда onChange будет называться, но onBlur не будет называться?

406   7  

7 ответов:

The onBlur событие запускается, когда вы отошли от объекта, не обязательно изменив его значение.

The onChange событие вызывается только при смене значения поля и оно теряет фокус.

возможно, вы захотите взглянуть на введение quirksmode в события. Это отличное место, чтобы получить информацию о том, что происходит в вашем браузере, когда вы взаимодействуете с ним. Его книга тоже хороша.

onblur срабатывает, когда поле теряет фокус, в то время как onchange срабатывает, когда значение этого поля изменяется. Однако эти события не всегда будут происходить в одном и том же порядке.

в Firefox вкладка из измененного поля будет срабатывать onchange, а затем onblur, и обычно она будет делать то же самое в IE. Однако, если вы нажмете клавишу enter вместо tab, в Firefox он будет срабатывать onblur, а затем onchange, в то время как IE обычно срабатывает в исходном порядке. Однако я видел случаи, когда IE также будет стрелять пятно сначала, так что будьте осторожны. Вы не можете предположить, что либо onblur, либо onchange произойдет раньше другого.

пример, чтобы сделать вещи конкретные. Если у вас есть выбор таким образом:

<select onchange="" onblur="">
  <option>....
</select>

the onblur() вызывается при переходе прочь. Элемент onchange() вызывается, когда вы выбираете другой вариант из выбора - т. е. вы меняете то, что он в настоящее время выбран.

в Firefox onchange срабатывает только при вводе вкладки или щелчке за пределами поля ввода. То же самое относится и к Onblur. Разница в том, что onblur будет стрелять, изменили ли вы что-нибудь в поле или нет. Возможно, что ENTER запустит один или оба из них, но вы не знаете, что если вы отключите ввод в своих формах, чтобы предотвратить неожиданные отправки.

onBlur-это когда ваше внимание больше не сосредоточено на рассматриваемом поле.

свойство onblur возвращает код обработчика событий onBlur, если он существует в текущем элементе.

onChange - это когда значение поля изменяется.

Я думаю, что здесь важно отметить, что onBlur() срабатывает независимо.

Это полезный поток, но единственное, что он не проясняет, это то, что onBlur() будет срабатывать каждый раз.

onChange () будет срабатывать только при изменении значения.

onChange - это когда что-то в поле изменяется, например, вы пишете что-то в текстовом вводе.

onBlur - это когда вы отвлекаетесь от поля, например, вы писали в текстовом вводе, и вы его отключили.

Так что на самом деле они почти то же самое, но для onChange, чтобы вести себя так, как onBlur делает что-то в этом входе, нужно изменить.

Comments

    Ничего не найдено.