Отключенные элементы, такие как <select>
и <input>
, не реагируют на событие click, я пытаюсь их обернуть в <div>
и прослушать его событие click.Щелчок по отключенному элементу выбора не вызывает события щелчка или mousedown на его родительском
Нажав на отключен <input>
, запускается щелчок по контейнеру <div>
, но возникает проблема с элементами <select>
. нажатие отключенного элемента <select>
не вызывает его контейнер <div>
, как вы можете видеть в этом JSFiddle Example.
HTML:
<button onclick="buttonClick()" >Click</button>
<div id="test"></div>
ЯШ:
buttonClick = function(){
var editor = $("#test");
var div=$("<div>")
.mousedown(function() {
alert("!!!");
})
.appendTo(editor);
var selecttest = $("<select>")
.attr("disabled", "disabled")
.appendTo(div);
$("<option />").attr("value", '').appendTo(selecttest);
};
Если я добавить <input>
используя следующий код вместо <select>
, он работает:
var textinput = $("<input>")
.attr("type", "text")
.attr("disabled", "disabled")
.appendTo(div);
тесты для различных браузеров: Для IE11: для обоих input
и select
он работает.
Для Firefox: для обоих input
и select
он не работает.
Для Opera и Chrome: для input
он работает, для select
он не работает.
Для IE11: для 'input' и' select' это работает. Для Firefox: как для 'input', так и' select' это не работает. Для Opera и Chrome: for'input' работает, потому что 'select' не работает. – user2889383
Итак, вы хотите, чтобы событие mousedown загорелось родителем при нажатии на поле ввода или выбора? Если это ваш вопрос, чем вы можете добавить указатели-события: ни один из них не будет отключен, а затем выберите, а затем, когда вы нажмете на родительский div, он запустит связанное с ним событие :) –
Я читаю о указателях-событиях, я буду попробуйте использовать его, спасибо :) – user2889383