Итак, в прецеденте есть div, одна кнопка и одно текстовое поле.
В случае размытия текстового поля div расширяется
и при нажатии кнопки отображается предупреждение.
Таким образом, обе эти вещи работают. но если мой курсор находится в текстовом поле, и я пытаюсь нажать на кнопку. Тогда щелчок не поднимается. Я понимаю, что, поскольку кнопка переместилась, клик не поднимается. Итак, каковы мои варианты
Плункер кода
Просто послушайте mousedown, верно, это то, что вы ищете в любом случае.
$('#clickAbleButton').on('mousedown',function() {
Щелчок 3 события не один, и все они должны встречаться на одном элементе,
Элемент уходит в сторону от мыши, поэтому просто слушайте mousedown.
На самом деле, почему вы перемещаете кнопку в середине щелчка? Я подозреваю, что эта проблема действительно проблема дизайна и должна рассматриваться как таковая, не взломанная с помощью javascript.
Я бы попытался использовать функции.bind и.unbind jquery для необходимых событий щелчка
Быстрое решение на index.html:
<body>
<h1>Hello Plunker!</h1>
<input type="button" id="clickAbleButton" value="Click Me" />
<input type="text" id="myInputText" value="Empty Text Box" />
<div style="height:40px;" id="everExpandingDiv">
This is my container div
</div>
ИЛИ, лучшее решение для script.js:
$(function() {
$('#myInputText').on('mousedown',function()
{$('#everExpandingDiv').height($('#everExpandingDiv').height()+20);});
$('#clickAbleButton').click(function() {
alert('button click was raised');
});
});