【发布时间】:2013-03-28 10:47:35
【问题描述】:
在 WebKit 浏览器上(我在 Mac 上的 Chrome 和 Safari 上测试过),按钮元素的行为很奇怪:
文在这个小提琴http://jsfiddle.net/5ReUn/3/你做以下事情:
- 当光标在 HTML 按钮文本上时按鼠标左键
- 将光标(按下时)移动到按钮上没有文字的区域
- 松开鼠标键
那么按钮元素上的点击事件就不会触发了!
HTML 非常简单:
<button id="button">Click</button>
而且 CSS 一点也不复杂:
button {
display: block;
padding: 20px;
}
点击捕获的JS:
button = document.getElementById('button');
button.addEventListener('click', function() {
console.log('click');
});
我网站的许多访问者抱怨按钮不可点击。他们没有意识到点击时正在移动光标。
有人找到解决方法了吗?
【问题讨论】:
-
您的点击处理程序在哪里?我这里没有看到任何js
-
@silentboy,刚刚用 JavaScript 块更新了我的问题。单击并释放文本部分以及单击并释放按钮的非文本区域时会捕获单击。但是穿越是不行的。
-
活动
mousedown会做吗?请检查是否有人已回答。 -
@silentboy 正如我对该回复的评论,这不是按钮元素的良好用户体验。
-
按钮够大吗?也许您可以对布局/设计做一些事情来解决问题。如果您更改按钮的正常行为,其他用户可能会感到困惑。
标签: javascript css webkit dom-events