gpt4 book ai didi

javascript - Dojo 相当于按钮点击的是什么

转载 作者:行者123 更新时间:2023-11-28 07:50:29 25 4
gpt4 key购买 nike

在 JavaScript 中 - 如果我想触发一个按钮,我会这样做 -

<button type = 'button' id='myButton'>HiddenButton</button>
<script>
function callAutoClick(){
document.getElementById('myButton').click();
}
</script>

当我想触发此按钮时,请单击文本字段的 onChange -

<input type= 'text' onchange ='callAutoClick()'/>

我无法在 DOJO 中执行相同的操作。我找到了使用 Javascript 的解决方案 -

var divId = document.getElementById('myDivID');
divId.getElementsByTagName("button")[0].click();

但我不想与 DivID 存在依赖关系。是否可以仅知道按钮的 controlID 来单击按钮。我在网上能找到的只是使用 dojo 为按钮定义 OnClick() 的方法,而不是单击按钮本身。

另外,我正在使用 BPM 工具设计页面,因此包括 DivID 更改的部分。当我在 FireBug 中打开页面时,我可以看到这个 -

<div id="div_1_1_2_1" class="Button CoachView CoachView_invisible CoachView_show" data-ibmbpm-layoutpreview="vertical" data-eventid="boundaryEvent_2" data-viewid="Hidden_Cancel" data-config="config23" data-bindingtype="" data-binding="" data-type="com.ibm.bpm.coach.Snapshot_2d5b8abc_ade1_4b8c_a9aa_dfc746e757d8.Button">
<button class="BPMButton BPMButtonBorder" type="button">Hidden_Cancel</button>
</div>

如果你们能给我建议一种使用 data-viewId 访问 DOM 对象的方法,它也能满足我的需求。

提前致谢:)

最佳答案

您可以使用dojo/query:

function progClick() {
require(["dojo/query"], function(query) {
query("div[data-viewid=myViewId] > button").forEach(function(node) {
node.click();
});
});
}
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.10.1/dojo/dojo.js" data-dojo-config="async: true"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.10.1/dijit/themes/claro/claro.css">
</head>

<body class="claro">

<div id="everChangingId" data-viewid="myViewId">
<button type="button" onclick="alert('my button got clicked!')">My Button</button>
</div>

<hr/>

<button type="button" onclick="progClick()">Programatically Click My button</button>

</body>
</html>

关于javascript - Dojo 相当于按钮点击的是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26880977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com