锁定老帖子 主题:js模拟点击那点事
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (2)
|
|
---|---|
作者 | 正文 |
发表时间:2011-07-30
zhouyrt 写道 勘误下:FF中A是没有click方法的。仅IE和Opera有。
嗯,差点我都以为绑定没有用呢 我也不知道什么时候才会需要<a>代替submit div或者button不行吗? |
|
返回顶楼 | |
发表时间:2011-07-30
最后修改:2011-07-30
hastune 写道 zhouyrt 写道 勘误下:FF中A是没有click方法的。仅IE和Opera有。
嗯,差点我都以为绑定没有用呢 我也不知道什么时候才会需要<a>代替submit div或者button不行吗? a有hover。 |
|
返回顶楼 | |
发表时间:2011-07-30
最后修改:2011-07-30
事实上FF中模拟不了A的点击,触发不了A的默认行为,有bug。
http://www.cnblogs.com/snandy/archive/2011/07/30/2122268.html |
|
返回顶楼 | |
发表时间:2011-07-31
hastune 写道 zhouyrt 写道 勘误下:FF中A是没有click方法的。仅IE和Opera有。
嗯,差点我都以为绑定没有用呢 我也不知道什么时候才会需要<a>代替submit div或者button不行吗? 记错了,FF中A有click方法的。但由于其安全限制不能触发A的默认行为。 |
|
返回顶楼 | |
发表时间:2011-07-31
不说兼容性问题,那都是衍生出来的问题。
就说楼主的做法,我就觉得画蛇添足了。你不能直接在btn中条用a中的onclick中的方法吗,一定要中间加一个a来做。 即食要加个a,那也没必要btn调用a啊。 还有a一般处理都是javascript协议来做。 |
|
返回顶楼 | |
发表时间:2011-07-31
为什么要这么做?
为什么不调用表单的submit()? 为什么不用表单内的提交按钮? 为什么不用<button type="submit">提交</button> 为什么不给提交按钮添加背景图? 为什么不用<button type="submit"><a href="#">提交</a></button> <a href="#"><button type="submit">提交</button></a> 有许多简单方法实现你的需求。为什么非要绕个大圈为它封装一个方法。为什么不用 var form document.getElementById('formId'); form.submit(); 为form指定onsubmit响应函数就行了。 还有谁说<a>没有onclick事件了? |
|
返回顶楼 | |
发表时间:2011-08-01
zhouyrt 写道 事实上FF中模拟不了A的点击,触发不了A的默认行为,有bug。
http://www.cnblogs.com/snandy/archive/2011/07/30/2122268.html 对于Ext这种RIA式页面,模拟点击测测事件逻辑也够用了,至少onclick和注册的事件都能触发 |
|
返回顶楼 | |
发表时间:2011-08-01
zhouyrt 写道 hastune 写道 zhouyrt 写道 勘误下:FF中A是没有click方法的。仅IE和Opera有。
嗯,差点我都以为绑定没有用呢 我也不知道什么时候才会需要<a>代替submit div或者button不行吗? 记错了,FF中A有click方法的。但由于其安全限制不能触发A的默认行为。 这个还真是复杂啊~ 我也不知道楼主怎么想出来的这些事。汗哒哒 |
|
返回顶楼 | |
发表时间:2011-08-01
直接一个onclick
然后 方法里面用 form.submit() 不就得了~~ 非要那么麻烦! 再是模拟提交也是为了调用form表单的submit方法 |
|
返回顶楼 | |
发表时间:2011-08-02
<script type="text/javascript">
var sub = document.getElementById("subbtn"); var btn = document.getElementById("btn"); //通用方法 btn.onclick = function() { //sub.click(); if (/msie/i.test(navigator.userAgent)) //IE { sub.fireEvent("onclick"); } else { var e = document.createEvent('MouseEvent'); e.initEvent('click', false, false); sub.dispatchEvent(e); } } </script> 我想问下... if((/msie/i.test(navigator.userAgent))) 能详解下这里面都是什么意思么? msie: i: test(): navigator.userAgent: 这个我知道..获得版本信息 |
|
返回顶楼 | |