2010-05-19 75 views
0

我用jquery numeric plugin只允許號碼在某些領域中鍵入。禁用動態jQuery插件

$("input.numeric").numeric(); 

我想在某些情況下動態禁用此功能,以允許用戶鍵入其他字符(即字母)。 我tryed使用解除綁定()或undelegate()沒有成功的功能。

有誰知道解決的辦法? 感謝

+0

你怎麼使用'.unbind()'?該數字插件似乎只是綁定一個'keypress'處理程序的輸入,所以'$(「input.numeric」)取消綁定();'應該刪除(和所有其他)處理程序。 – user113716 2010-05-19 13:06:43

+0

感謝您的幫助。 Finaly,我發現這個解決方案: $( '#my_elt')解除綁定( '按鍵')解除綁定( '模糊'); 我解除了該插件使用的所有事件。 – Gilles 2010-05-19 13:41:10

回答

4

此插件包含功能removeNumeric();

而且這幾乎是正確的。在removeNumeric功能

$.fn.removeNumeric = function() 
{ 
    return this.data("numeric.decimal", null).data("numeric.negative", 
    null).data("numeric.callback", null).unbind("keypress", 
    $.fn.numeric.keypress).*unbind("keyup", 
    $.fn.numeric.keyup)*.unbind("blur", $.fn.numeric.blur); 
} 

插入unbind("keyup", $.fn.numeric.keyup),並在這之後,你可以嘗試我$("input.numeric").removeNumeric(); 正常工作: 首先,你應該在jquer.numeric插件添加少許修正。

+0

我想上去投票至少兩次...... – Abs 2014-01-07 08:15:23