JavaScript 触发click事件 兼容FireFox,IE 和 Chrome

解决了火狐下无法触发click事件的问题

<script language="javascript">
    function test2(name)
    {
        if(document.all)
        {
            document.getElementById(name).click();
        }
        else
        {
            var evt = document.createEvent("MouseEvents");
            evt.initEvent("click", true, true);
            document.getElementById(name).dispatchEvent(evt);
        }
    }
</script>

<a href="#" id="a3" onclick="location.href = ‘http://www.baidu.com‘;">baidu</a>
<input type="button" value="clck" onclick="test2(‘a3‘);"/>
时间: 2024-09-29 04:16:45

JavaScript 触发click事件 兼容FireFox,IE 和 Chrome的相关文章

ios下Safari无法触发click事件的处理

ios下的Safari真是傲娇啊,坑好多. 首先上代码 <!DOCTYPE html> <html> <head> <title>122</title> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no"&

javascript监听事件兼容

function addEvent(el ,type ,fn){ if(el.addEventListener){ el.addEventListener(type,fn,false); }else if(el.attachEvent){ el.attachEvent('on'+type,fn); }else{ el['on'+type] = fn; } } function alertIndex(){ alert(2); } addEvent(ipt[0],'click',function()

Firefox下代码触发a标签的click事件无效

通过一次导出功能是让自己如何一步一步掉坑最后又是怎么爬起来的 在页面中通过document.createElement('a');创建一个a标签,然后给a标签的href属性赋url,通过代码触发a标签的click事件请求后台,在Chrome浏览器中请求正常,但是在Firefox中始终无效,debugger发现代码也走到了a.click()方法,但是就是没反应.代码如下: $.ajax({ url: Config.ApiUrl + "TZTZ/DowloadFile", type: &q

解决jQuery中dbclick事件触发两次click事件

首先感谢这位小哥!http://qubernet.blog.163.com/blog/static/1779472842011101505853216/ 太长姿势了. 在jQuery事件绑定中,dbclick可以触发两次click事件.例如一个DOM元素div,既绑定了 click 事件,又绑定了 dblclick 事件,这两个事件分别要做独立的事情.事件处理上没有冲突,都可以各自完成各自的操作.双击的时候虽然是执行了 dblclick 事件,但是在这之前,也执行了click 事件,那么,如何来

JavaScript 解除绑定的click事件

最近在公司做Project,用到了JavaScript的click事件. 比如说,用了glyphicon-trash来实现点击后弹出确认删除对话框,可是我发现有时click后对话框弹出多次,有时不弹出,很奇怪- 后来发现是由于多次绑定了click事件导致的,只需在每次绑定前加上: $("#classname").unbind("click"); 解除绑定即可,然后再写click事件对应的代码.

click事件和mousedown、mouseup事件

点击select标签元素的时候,会弹出下拉.然而当option中没有元素时,就不希望弹出下拉(比如在某些浏览器中,点击select会默认出一个罩层效果,而此时没有数据选择的话,弹出比较不友好). 首先想到是利用click事件控制,发现仍然会有下拉出现...实际这个是mousedown事件控制的. 这里就说明下click和mousedown.mouseup.规范要求,只有在同一个元素上相继触发 mousedown 和 mouseup 事件,才会触发 click 事件:如果 mousedown 或

浏览器返回按钮不会触发onLoad事件

最近在做一个移动端项目,发现移动端某些返回和PC端是有差异的, 比如ios中返回按钮是直接使用缓存的, 不会执行任何js代码, 这个问题很蛋疼, 例如, 在提交的时候将按钮设置为loading状态, 如果在提交成功后没有对安装进行处理, 那么返回后按钮依然是loading状态, 这种体验很差, 如下图: 此问题是由于某些浏览器在back的时候是直接使用的之前的视图,页面没有进行重新加载而导致的,在网上找了些资料, 发现这是H5的一些新特性Back-Forward Cache(简称bfcache)

移动端的touch click事件的理解+点透

移动端在touch上一共有4个事件 touchstart touchmove touchend touchcancel, touchcancel, 一般来说,它们执行的顺序为 touchstart -> touchmove -> touchend -> touchcancel . 其中touchcancel一般情况下不会触发,也不是这里讨论的焦点: 这里会结合click对上面的事件进行讨论, touch发生在click之前 先上段代码,直观感受一下 <!DOCTYPE html&g

vue中,svg图标添加click事件,部分浏览器不生效

vue项目中,使用svg图标,但是发现,为svg图标绑定click事件时,部分浏览器会出现,点击没有反应的情况,代码如下: <icon name="icon_add" @click="addSubject(scope.$index)"> </icon> 后来发现,在edge内核中只有点击svg边缘部分才会触发click事件 所以解决办法如下:为svg图标外面包裹一层元素,click事件绑定在外侧元素上 <a href='javascri