<button>
标记似乎在Safari和Opera中有奇怪的行为(但不是Firefox)。如果按钮包含文本,那么我们有以下情况:
如果您单击鼠标然后在不移动鼠标的情况下释放, onClick会发生。
按下按钮的非文本区域上的鼠标按钮,将鼠标拖动到按钮的其他非文本区域,释放, onClick发生。
按下按钮文本区域上的鼠标按钮,将鼠标拖动到按钮的其他文本区域,释放, onClick发生。
然而,奇怪的是:
按下按钮文本区域上的鼠标按钮,将鼠标拖动到按钮的非文本区域,释放, onClick不会发生。
按下按钮的非文本区域上的鼠标按钮,将鼠标拖动到按钮的文本区域,释放, onClick不会发生。
这是一种奇怪的行为。大多数情况下它没有被注意到,但是如果你快速按下按钮,你的鼠标就可以在点击时移动。这意味着它看起来像你点击了按钮,但它没有激活。
这是一个已知问题吗?我认为这是因为文本不是按钮本身的一部分,只是一个子元素?周围有好的方法吗? <input type=button>
没有这种行为,大概是因为文本不是按钮的单独html元素。
答案 0 :(得分:1)
<button>
是新的,仍然是高度实验性的。它应该只与HTML5一起使用。是的,它不仅在Safari和Opera中出现问题,甚至Chrome都有问题。
我的建议是使用<input type="button" />
,直到所有现代浏览器支持大部分新标准为止。
最好等到HTML5正式发布,但是......好吧......这将是漫长的等待。