Я пришел с простым решением для вашего вопроса. Я добавил глобальную переменную "зависания" и события mouseover, mouseout к кнопке. Когда мышь наводит на кнопку, тогда переменная "зависает" устанавливается в значение true, а если мышь зависает над кнопкой, она устанавливается в значение false.
Этот механизм позволяет определить, находится ли мышь на кнопке, когда происходит событие onchange. Таким образом, если мышь находится на кнопке во время срабатывания события onchange, мы знаем, что пользователь нажал кнопку, и это вызвало onchange.
Конечно, это быстрое и грязное решение, просто чтобы дать вам представление. Это можно сделать лучше.
Надеюсь, это поможет:)
var hovered = false;
$('#button').mouseover(function(){
hovered = true;
}).mouseleave(function(){
hovered = false;
});
$(function(){
$('#button').bind("click",function(){
alert("button click");
});
$('#textbox').bind("change",function(){
alert("text changed");
if (hovered)
$('#button').trigger('click');
});
});