5
我使用Dylan Verheul,Dan G. Switzer,Anjesh Tuladhar,JörnZaefferer的jQuery自動完成1.0.2擴展。當自動完成控件中調用.show()和.hide()時,我試圖執行自己的回調函數。我還沒有找到任何方法來實際識別我的回調函數。如果任何人熟悉這種控制,並可以幫助我會非常感激。如何將自定義回調函數附加到jquery自動填充擴展?
我使用Dylan Verheul,Dan G. Switzer,Anjesh Tuladhar,JörnZaefferer的jQuery自動完成1.0.2擴展。當自動完成控件中調用.show()和.hide()時,我試圖執行自己的回調函數。我還沒有找到任何方法來實際識別我的回調函數。如果任何人熟悉這種控制,並可以幫助我會非常感激。如何將自定義回調函數附加到jquery自動填充擴展?
對不起,我沒有任何簡單的回答你的問題,我檢查了插件源代碼,並沒有找到任何機制讓你想要你想要的。我想你必須自己更新這個插件才能讓它按照你的意願工作。
想法是將您的回調添加到options
參數,然後使插件使用這些回調。首先,你必須修改插件代碼。轉至創建,負責顯示/隱藏自動完成控制類的功能:
$.Autocompleter.Select = function (options, input, select, config) {
如果向下滾動,你可以看到,這個函數返回一個對象與show()
和hide()
方法。您可以添加以下代碼:
hide: function() {
...
options.showCallback && options.showCallback(); // Invoke callback function if set
},
...
show: function() {
...
options.hideCallback && options.hideCallback(); // Invoke callback function if set
},
最後,當你創建你自動完成,你應該添加您的回調,以你的選擇:
$("#myTextBox").autocomplete("http://...",
{
showCallback : function() { /* do what you want here */ },
hideCallback : function() { /* do what you want here */ }
});
沒有測試所有,它只是一個快速和骯髒的解決方案。我希望這有幫助。
感謝ybo,試試吧! – 2009-03-04 16:10:52