Jquery';改变';事件取消';单击';其他元素上的事件

Jquery';改变';事件取消';单击';其他元素上的事件,jquery,events,Jquery,Events,我编写了以下示例代码: <script type="text/javascript" > $(document).ready(function() { $('input:text').change(inputChangeHandler); $('input:button').click(buttonClickHandler); }); function inputChangeHandler(event){ ale

我编写了以下示例代码:

<script type="text/javascript" >
    $(document).ready(function() {
        $('input:text').change(inputChangeHandler);
        $('input:button').click(buttonClickHandler);
    });
    function inputChangeHandler(event){
        alert('[Text changed] ' + $(this).val());
    }
    function buttonClickHandler(event){
        alert('[Button click]');
    }
</script>

<input type="text" name="txt" />
<input type="button" value="button" />

$(文档).ready(函数(){
$('input:text').change(inputChangeHandler);
$(“输入:按钮”)。单击(按钮ClickHandler);
});
函数inputChangeHandler(事件){
警报('[Text changed]'+$(this.val());
}
功能按钮ClickHandler(事件){
警报(“[按钮点击]”);
}
尝试更改文本,然后单击按钮,仅触发“更改事件”

<script type="text/javascript" > 
    $(document).ready(function() { 
        $('input:text').change(inputChangeHandler); 
        $('input:button').click(buttonClickHandler); 
    }); 
    function inputChangeHandler(event){ 
        console.log('[Text changed] ' + $(this).val()); 
    } 
    function buttonClickHandler(event){ 
        console.log('[Button click]'); 
    } 
</script> 

<input type="text" name="txt" /> 
<input type="button" value="button" />

有没有想过触发“更改”事件,即“单击”事件?

可能是警报停止了第二个事件,如果我将代码更改为在控制台中记录消息,在Firefox中,两个事件都会被触发

<script type="text/javascript" > 
    $(document).ready(function() { 
        $('input:text').change(inputChangeHandler); 
        $('input:button').click(buttonClickHandler); 
    }); 
    function inputChangeHandler(event){ 
        console.log('[Text changed] ' + $(this).val()); 
    } 
    function buttonClickHandler(event){ 
        console.log('[Button click]'); 
    } 
</script> 

<input type="text" name="txt" /> 
<input type="button" value="button" />

$(文档).ready(函数(){
$('input:text').change(inputChangeHandler);
$(“输入:按钮”)。单击(按钮ClickHandler);
}); 
函数inputChangeHandler(事件){
log('[Text changed]'+$(this.val());
} 
函数按钮ClickHandler(事件){
log(“[按钮单击]”);
} 

在fiddle中一切正常。

我用我的浏览器(chrome 15)尝试此功能,但不工作,尝试在文本框中写入“帮助”,然后按下按钮。。。我只看到一个对话框(文本更改事件),而没有看到第二个对话框(按钮单击),这是因为两个警报同时触发。如果分别执行这两个事件,则不会发生。例如,在文本框中键入,然后模糊(但不要单击按钮),然后单击按钮。在实际情况下,我有两个不同的ajax调用,每个处理程序一个,但只触发一个!(输入已更改,未按下按钮)。工作!现在我必须理解为什么我的代码不能处理2个ajax调用(而不是console.log)。