如何在javascript中模拟点击?

如何在javascript中模拟点击?,javascript,jquery,Javascript,Jquery,其中一个特点是,当用户单击某个东西时,就会发生某些事情。如何在不调用函数的情况下模拟此单击?使用jQuery,您可以执行$myElementId.click来模拟单击。使用jQuery,您可以执行$myElementId.click来模拟单击。如果有人遇到此问题,您可以寻找一种与框架无关的方式来触发任何HTML和鼠标事件,请看这里:如果有人在寻找一种与框架无关的方式来触发任何HTML和鼠标事件时遇到这种情况,请看这里:模拟单击元素很容易用元素完成。单击; 不需要安装9000行jquery库来模拟

其中一个特点是,当用户单击某个东西时,就会发生某些事情。如何在不调用函数的情况下模拟此单击?

使用jQuery,您可以执行$myElementId.click来模拟单击。

使用jQuery,您可以执行$myElementId.click来模拟单击。

如果有人遇到此问题,您可以寻找一种与框架无关的方式来触发任何HTML和鼠标事件,请看这里:

如果有人在寻找一种与框架无关的方式来触发任何HTML和鼠标事件时遇到这种情况,请看这里:

模拟单击元素很容易用元素完成。单击; 不需要安装9000行jquery库来模拟单击。如果您知道某个元素的ID,单击它将非常简单,如下所示:

document.getElementById('someID').click();
如果没有id属性,则获取要单击的元素会更困难,但幸运的是有Xpath,因此获取和单击元素仍然可以在一行优雅的代码中完成。注意,contains方法只需要src属性的部分匹配

document.evaluate(" //a[ contains(@src, 'someURL') ] ", document.body, null, 9, null). singleNodeValue.click();  
可以使用or和运算符,如下所示:

document.evaluate(" //*[ contains(@id, 'someID') or contains(@name, 'someName') ] ", document, null, 9, null). singleNodeValue.click();  
一个完整的多浏览器示例可能是这样的。在IE8及以下版本中,如果要查找的元素没有id,可以使用document.getElementsByTagName'tagname'获取它;然后使用for循环来计算元素或其innerHTML的某些属性

<html>
<body>
<input type='button' id='someID' value='click it'  onclick='myAlert()' />

<p onclick="simulateClick()" >Click the text to simulate clicking the button above - the button will be automatically clicked in 3.5 seconds

<script>

function simulateClick(){
var button;
try{  // Xpath for most browsers
button = document.evaluate(".//input[ contains(@id, 'someID') ] ", document.body, null, 9, null). singleNodeValue;
}catch(err){  // DOM method for IE8 and below
button = document.getElementById("someID"); 
}

if ( button) {  button.click(); } 
else {  alert("No button was found, so I can't click it"); } 

}

function myAlert(){alert("button clicked")}

setTimeout(simulateClick, 3500 );

</script>
</body>
</html>

使用元素很容易模拟单击元素。单击; 不需要安装9000行jquery库来模拟单击。如果您知道某个元素的ID,单击它将非常简单,如下所示:

document.getElementById('someID').click();
如果没有id属性,则获取要单击的元素会更困难,但幸运的是有Xpath,因此获取和单击元素仍然可以在一行优雅的代码中完成。注意,contains方法只需要src属性的部分匹配

document.evaluate(" //a[ contains(@src, 'someURL') ] ", document.body, null, 9, null). singleNodeValue.click();  
可以使用or和运算符,如下所示:

document.evaluate(" //*[ contains(@id, 'someID') or contains(@name, 'someName') ] ", document, null, 9, null). singleNodeValue.click();  
一个完整的多浏览器示例可能是这样的。在IE8及以下版本中,如果要查找的元素没有id,可以使用document.getElementsByTagName'tagname'获取它;然后使用for循环来计算元素或其innerHTML的某些属性

<html>
<body>
<input type='button' id='someID' value='click it'  onclick='myAlert()' />

<p onclick="simulateClick()" >Click the text to simulate clicking the button above - the button will be automatically clicked in 3.5 seconds

<script>

function simulateClick(){
var button;
try{  // Xpath for most browsers
button = document.evaluate(".//input[ contains(@id, 'someID') ] ", document.body, null, 9, null). singleNodeValue;
}catch(err){  // DOM method for IE8 and below
button = document.getElementById("someID"); 
}

if ( button) {  button.click(); } 
else {  alert("No button was found, so I can't click it"); } 

}

function myAlert(){alert("button clicked")}

setTimeout(simulateClick, 3500 );

</script>
</body>
</html>

您想要达到的目的是什么?是的,您想要导航到链接href中的url吗?您想要达到的目的是什么?是的,您想要导航到链接href中的url吗?