论坛首页 Web前端技术论坛

js模拟点击那点事

浏览 16898 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (2)
作者 正文
   发表时间:2011-07-30  
zhouyrt 写道
勘误下:FF中A是没有click方法的。仅IE和Opera有。


嗯,差点我都以为绑定没有用呢
我也不知道什么时候才会需要<a>代替submit
div或者button不行吗?
0 请登录后投票
   发表时间:2011-07-30   最后修改:2011-07-30
hastune 写道
zhouyrt 写道
勘误下:FF中A是没有click方法的。仅IE和Opera有。


嗯,差点我都以为绑定没有用呢
我也不知道什么时候才会需要<a>代替submit
div或者button不行吗?


a有hover。
0 请登录后投票
   发表时间:2011-07-30   最后修改:2011-07-30
事实上FF中模拟不了A的点击,触发不了A的默认行为,有bug。
http://www.cnblogs.com/snandy/archive/2011/07/30/2122268.html
0 请登录后投票
   发表时间:2011-07-31  
hastune 写道
zhouyrt 写道
勘误下:FF中A是没有click方法的。仅IE和Opera有。


嗯,差点我都以为绑定没有用呢
我也不知道什么时候才会需要<a>代替submit
div或者button不行吗?


记错了,FF中A有click方法的。但由于其安全限制不能触发A的默认行为。
0 请登录后投票
   发表时间:2011-07-31  
不说兼容性问题,那都是衍生出来的问题。
就说楼主的做法,我就觉得画蛇添足了。你不能直接在btn中条用a中的onclick中的方法吗,一定要中间加一个a来做。
即食要加个a,那也没必要btn调用a啊。
还有a一般处理都是javascript协议来做。
0 请登录后投票
   发表时间: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事件了?
0 请登录后投票
   发表时间:2011-08-01  
zhouyrt 写道
事实上FF中模拟不了A的点击,触发不了A的默认行为,有bug。
http://www.cnblogs.com/snandy/archive/2011/07/30/2122268.html

对于Ext这种RIA式页面,模拟点击测测事件逻辑也够用了,至少onclick和注册的事件都能触发
0 请登录后投票
   发表时间:2011-08-01  
zhouyrt 写道
hastune 写道
zhouyrt 写道
勘误下:FF中A是没有click方法的。仅IE和Opera有。


嗯,差点我都以为绑定没有用呢
我也不知道什么时候才会需要<a>代替submit
div或者button不行吗?


记错了,FF中A有click方法的。但由于其安全限制不能触发A的默认行为。

这个还真是复杂啊~

我也不知道楼主怎么想出来的这些事。汗哒哒
0 请登录后投票
   发表时间:2011-08-01  
直接一个onclick
然后 方法里面用 form.submit() 不就得了~~ 非要那么麻烦!
再是模拟提交也是为了调用form表单的submit方法
0 请登录后投票
   发表时间: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:  这个我知道..获得版本信息
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics