ER icon indicating copy to clipboard operation
ER copied to clipboard

Button组件onclick事件无法阻止默认浏览器行为

Open mytharcher opened this issue 12 years ago • 2 comments

Button.js中的代码:

if ( !me.isDisabled() ) {
    me.onclick();
}

onclick事件不能通过return false来阻止默认行为,如果是一个submit按钮,那么点击后表单仍会提交。

另外,css里在disabled状态下按钮上鼠标仍是手型。

mytharcher avatar Jun 28 '12 07:06 mytharcher

fixed

leeight avatar Jul 02 '12 02:07 leeight

没有彻底修复,不过应该是另一个问题,但应该合并考虑。

原因是Button设置禁用时并没有吧主元素main设置HTML的原生禁用状态,导致表单仍然会提交。

两种修复方案:

  1. 在现有基础上先不考虑真实禁用状态(但迟早是问题),对判断禁用后采取同样的措施preventDefault;

    if ( me.isDisabled() || false === me.onclick() ) {
        baidu.event.preventDefault(e || window.event);
    }
    
  2. 解决掉禁用状态,使之彻底不可点;

各位考虑。

mytharcher avatar Jul 02 '12 05:07 mytharcher