动态调用标签的事件,在谷歌下无法运行

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-02 01:17 点击:

前天做一个 像百度的搜索那个样子有下拉的组件。遇上这么一个问题。当方向盘向下按时找到对应的词在按回车进行搜索,在谷歌下却没有触发我的事件
 
例如:
 
function evtClick(e){
    alert('click me!');
}
 
window.onload = function (){
     var btn=document.getElementById('btn');
     btn.click();/*(1)*/
}
 
<a id="btn" onclick="evtClick(event)"> 测试</a>
 
结果:
 
ie下可以执行。而谷歌却无法执行。
 
所以我们对(1)
进行改进写法
if(document.all)
{
   btn.click();
}else{
   var evt = document.createEvent('HTMLEvents');
   evt.initEvent('click',true,true);
   btn.dispatchEvent(evt);
}
 
 
 
 
定义和用法
dispatchEvent() 方法给节点分派一个合成事件。
语法:
dispatchEvent(evt)
 

参数

描述

evt

必需。要分派的Event 对象。

 

返回值
如果在事件传播过程中调用了 evt 的 preventDefault() 方法,则返回 false,否则返回 true。
抛出
如果 Event 对象 evt 没有被初始化,或者它的 type 属性为 null 或空串,该方法将抛出异常。
描述
该方法将分派一个合成事件,它由 Document.createEvent() 创建,由 Event 接口或它的某个子接口定义的初始化方法初始化。
调用该方法的节点将成为事件的目标节点,该事件在捕捉阶段中第一次沿着文档树向下传播。如果该事件的 bubbles 属性为 true,那么在事件的目标节点自身处理事件后,它将沿着文档树向上起泡。

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • Gb2312转utf-8编码的方法(vbs+js)
      • 如何使用Ajax技术开发Web应用程序(1)
      • js跳转路径问题
      • JavaScript模仿桌面窗口
      • 用js检测两个线段是否相交
      • 运用JavaScript构建你的第一个Metro式应用程序(on Windows
      • 我知道的JavaScript -- 设计模式(桥接)应用之 – 验证器
      • 我是如何去了解jquery的(六),案例之幻灯片轮换
      • Jquery封装幻灯片效果
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1