2

我有一个隐藏链接,其中包含我需要调用的生成的 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>

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

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

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

4

1 回答 1

5

您需要使用“节点事件模拟”模块并将其称为

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');
    }
});
});

工作小提琴

于 2014-11-29T15:57:15.477 回答