2012-02-10 76 views
0

<button>標籤在Safari和Opera(但不是Firefox)中似乎有奇怪的行爲。如果按鈕包含文本,然後我們有以下情況:safari/opera中的奇怪按鈕行爲

  • 如果您單擊然後鼠標不移動鼠標釋放,的onClick發生

  • 按下鼠標按鈕上的非文本區域的按鈕,拖動鼠標到其他非文本區域的按鈕,釋放,onClick發生

  • 按下文本區域的按鈕上的鼠標按鈕,拖動鼠標到其他文本區域的按鈕,釋放,onClick發生

然而,奇怪的是:

  • 向下按鼠標鍵按鈕的文字區域,拖動鼠標按鈕,釋放非文本區域,的onClick不會發生

  • 按下鼠標按鈕上的非文本區域的按鈕,拖動鼠標到文本區域的按鈕,釋放,onClick不會發生

這是奇怪的行爲。大多數情況下,它沒有被注意到,但如果你快速按下按鈕,鼠標可以移動,而你點擊。這意味着它看起來像你點擊了按鈕,但它沒有激活。

這是一個已知的問題?我認爲這是因爲文本不是按鈕本身的一部分,只是一個子元素?有一個很好的解決方法嗎? <input type=button>沒有這種行爲,可能是因爲文本不是按鈕中的單獨html元素。

回答

1

<button>是新的並且仍然是高度實驗性的。它只能與HTML5結合使用。是的,它不僅在Safari和Opera中有問題,即使Chrome也有問題。

我的建議是使用<input type="button" />代替,直到所有現代瀏覽器支持大部分新標準。

最好是等到HTML5正式發佈,但是......好吧......這將是一個漫長的等待。