首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一个简单的.click()在Javascript中不起作用

一个简单的.click()在Javascript中不起作用
EN

Stack Overflow用户
提问于 2017-12-10 15:09:26
回答 4查看 97关注 0票数 0

我正在尝试用Javascript点击一个div。我可以使用Jquery。在我使用QuerySelectorXPath选择元素并在元素上使用.click()之后,它实际上并没有结束单击div,也没有做任何事情。

代码语言:javascript
复制
document.querySelector('.GriddyLayout > div:nth-child(1)').click()

我正在试用的网站是here。由于某些原因,在Javascript控制台中运行上述代码并未选择该选项。有没有人知道如何用JS点击这个按钮(div),这样它才能真正点击?将对所有答案进行投票,并接受效果最好/第一的答案。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-12-10 15:42:17

您需要按特定顺序触发一些事件。在javascript中,您可以使用:

代码语言:javascript
复制
var targetNode = document.querySelector('.GriddyLayout > div:nth-child(1)');

triggerMouseEvent(targetNode, "mousedown");
triggerMouseEvent(targetNode, "mouseup");
triggerMouseEvent(targetNode, "click");

function triggerMouseEvent(node, eventType) {
  var clickEvent = document.createEvent('MouseEvents');
  clickEvent.initEvent(eventType, true, true);
  node.dispatchEvent(clickEvent);
}
票数 3
EN

Stack Overflow用户

发布于 2017-12-10 15:14:35

您可以通过使用纯JavaScript来实现这一点。

代码语言:javascript
复制
var divs = document.getElementsByClassName("GriddyLayout");
 for(var i = 0; i < divs.length; i++){
  divs[i].addEventListener('click', function() {
  console.log('clicked' +"  "+this.innerHTML);
});
}

function callClickEvents() {
for(var i = 0; i < divs.length; i++){
  divs[i].click();
}
}

setTimeout(function(){ callClickEvents() }, 100);

// click nth element i.e 3rd (2+1)
divs[2].click(); 
console.log("Now click all divs");
代码语言:javascript
复制
<div class="GriddyLayout">hello 1</div>
<div class="GriddyLayout">hello 2</div>
<div class="GriddyLayout">hello 3</div>
<div class="GriddyLayout">hello 4</div>
                 .
<div class="GriddyLayout">hello n</div>

票数 1
EN

Stack Overflow用户

发布于 2017-12-10 15:16:22

试试这个:document.querySelector('.GriddyLayout > div:nth-child(1)').addEventListener('click', function() { console.log('clicked') })

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47736684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档