簡體   English   中英

在按鈕內輸入; 防止輸入點擊觸發按鈕點擊但仍然能夠輸入值

[英]Input inside a button; prevent input click to fire button click but still be able to enter value

我在按鈕內有一個輸入。 我希望用戶能夠單擊輸入,輸入一些值,然后單擊外部按鈕。

<button onclick="button()">button
    <input onclick="input()"></input>
</button>

然而,問題是默認行為是,由於顯而易見的原因(輸入在按鈕內),單擊輸入也會觸發按鈕輸入。

所以我試圖抑制輸入的事件觸發和傳播

button.onclick = function () {
    alert('button was pressed');
}
input.onclick = function (e) {
    e.preventDefault();
    e.stopPropagation();
    return false;
    alert('input was pressed');
}

但它也可以防止任何東西被輸入到輸入中! 或者至少它不可見。 可能是因為我擺弄了輸入的默認事件處理。

有沒有辦法點擊輸入,而不是讓按鈕觸發它自己的點擊事件(即按鈕保持獨立(即使我已經將輸入放入其中)),並且讓輸入像往常一樣工作?

http://jsfiddle.net/laggingreflex/wmcrhLoz/

給你: http : //jsfiddle.net/wmcrhLoz/2/

你只需要e.stopPropagation(); 在輸入中阻止單擊事件冒泡到父元素。

您的文本不可見,因為它是白色的。 將輸入中文本的顏色更改為黑色就可以了。

#input {
    color: #000;
}

暫無
暫無

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

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