簡體   English   中英

在onchange之后,onclick事件不會被觸發

[英]onclick event does not get triggered after onchange

重新創建此問題的步驟:

  1. 在文本框中鍵入內容
  2. 輸入后單擊按鈕。
  3. 我發現只觸發了onchange事件。

碼:

<div>
    <input type="text" onchange="console.log('onchange');$('#message').css('display','none');" >
    <div id="message">
        Validating
    </div>
    <br>
    <input type="button" onclick="console.log('onclick');" value="click me">
</div>

DEMO

這是因為您正在更改布局,這會更改按鈕位置,並且不會調用按鈕鼠標事件。 見演示:

JS Bin

如果你想隱藏div,通過保留它占用的空間,使用:

$('#message').css('visibility','hidden');

隱藏可見性的新演示

對於onclick ,有必要發生mouse-downmouse-up mouse-down事件,因為按鈕位置改變而不是調用onclick

這是完整活動的演示

你正在尋找keydown / press / up ...

用戶按下某個鍵(在鍵盤上)時會發生onkeydown事件....

<div>
    <input type="text" onkeydown="console.log('onchange');$('#message').css('display','none');" >
    <div id="message">
        Validating
    </div>
    <br>
    <input type="button" onclick="console.log('onclick');" value="click me">
</div>​

這是小提琴

http://jsfiddle.net/zQLFt/1/

click事件是mousedown和mouseup兩個事件的組合。 你可以改用mousedown。

<div>
    <input type="text" onchange="console.log('onchange');$('#message').css('display','none');" >
    <div id="message">
        Validating
    </div>
    <br>
    <input type="button" onmousedown="console.log('onclick');" value="click me">
</div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM