2011-12-08 128 views
-1

我目前正在试图修改primeFaces jQuery的调用,它是由下面的JavaScript激活JavaScript与点击

名称/默认/类型
filterEvent/KEYUP /字符串

目前呼叫触发在keyup或keydown上激活,但我希望它激活时,我点击一个按钮。假设按钮ID是activateFilter。代码是这个吗?

filterEvent="activateFilter.click()" 

我觉得我很接近但错过了一些东西。

+0

我已经根据您的评论更新了我的答案,我希望有所帮助。 – Christopher

回答

0

调用从<button /><a />标签的JavaScript函数的代码可以做了几个方面:

<button onclick="activateFilter();">Click Me</button> //or 
<a href="javascript: activateFilter();return false;" >Click Me</a> //or 
<a href="#" onclick="activateFilter();" >Click Me</a> 

你也可以不喜欢它,所以如果你正在使用jQuery

//given this markup 
<button id="myButton" /> 

//you could use jQuery like so 
jQuery(function(){ 
    $("#myButton").click(function(e){ 
    e.preventDefault(); 
    activateFilter(); 
    return false; 
    }); 
}); 

希望有所帮助。

更新:

如果你想使用点击触发侦听keyUp/keyDown等功能,那么为什么不“点击”发射/触发所需的事件。事情是这样:

$("#myButton").click(function(e){ 
    e.preventDefault(); 
    $(this).trigger("keyUp", eventObject); 
    return false; 
}); 

很明显,你需要检查哪些事件primefaces' activateFilter()函数监听,什么在eventObject是传球看起来当你这样做自然地触发该事件一样(即:按要求按钮/键),然后点击模拟该事件。

另请参阅jQuery文档.keyup();http://api.jquery.com/keyup/作为模仿按键的可能方式。

+0

我明白这一点,但问题来自filterEvent被调用的方式。它需要通过诸如keyUP或keyDown之类的DOM事件来激活。点击是一个DOM事件,但我需要弄清楚如何将按钮点击传递给filterEvent。 –

+0

这是半接近..我想我可能错误地写我的例子。 方法触发关闭如有以下完成: http://en.wikipedia.org/wiki/DOM_events 什么我要找的是它是否可以挑选特定的按钮来激活此方法。 –