2011-12-08 131 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 什麼我要找的是它是否可以挑選特定的按鈕來激活此方法。 –