jquery click()方法模拟点击事件对a标签不生效

if(e.keyCode == 13) {
        $items.eq(index).click();
        return;
}

搜索框下拉列表模拟点击时间,使用上述代码不能触发链接跳转

1,页面使用了bootstrap的data-toggle将a标签的默认点击时间覆盖了,无法触发链接,点击会刷新页面

办法 :添加  e.preventDefault(); 阻止bootstrap添加的事件。

2,jquery变量使用click()不会触发点击时间,使用原生js对象才行

办法 :  修改调用对象为$items.eq(index)[0];

a标签模拟点击事件需要使用原生DOM元素调用click()方法;jquery对象无法调用,因此推荐在以后的开发中尽量使用原生DOM对象模拟点击.

修改后代码:

 

1 if(e.keyCode == 13) {
2         e.preventDefault();
3         $items.eq(index)[0].click();
4         return;
5 }

 

posted @ 2017-12-15 16:57  光何  阅读(2402)  评论(0编辑  收藏  举报