如何触发带有 AUI 的链接的点击 javascript

How do I trigger a onclick javascript of a link with AUI?

本文关键字:链接 javascript AUI 何触发      更新时间:2023-09-26

我有一个隐藏的链接,其中包含一个生成的javascript片段,我需要调用它:

var AUI = YUI;
AUI().use('event', function(A) {
var deleteButton = 46;
A.one('.searchNameSelect').on('keyup', function(e) {
if(e.button == deleteButton){
    A.one('a.deleteSelectedSearch')._node.onclick();
}
});
});
<script src="http://cdn.alloyui.com/2.0.0/aui/aui-min.js"></script>
<a href="#" onclick="alert('call successful');" class="deleteSelectedSearch" style="display:none;"></a>
<select name="selectedSearch" size="1" class="searchNameSelect">
 <option value="search">search</option>
 <option value="another-search" selected="selected">another-search</option>
</select>

链接是使用 MyFaces (2.1) 命令生成的链接 <h:commandLink class="deleteSearch" action="#{search.deleteSelected}"></h:commandLink>生成一个 OnClick JavaScript: onclick="return myfaces.oam.submitForm('genertated-formId','generated');

我尝试使用 AUI 触发点击事件,但没有成功。

有没有人有一个好主意以更AUI风格的方式触发onclick Javascript?

你需要使用'node-event-simulate'模块并将其调用为

A.one('a.deleteSelectedSearch').simulate('click');

这是修改后的代码

var AUI = YUI;
AUI().use('event', 'node-event-simulate', function(A) {
var deleteButton = 46;
A.one('.searchNameSelect').on('keyup', function(e) {
    if(e.button == deleteButton){
        A.one('a.deleteSelectedSearch').simulate('click');
    }
});
});

工作小提琴