javascript - How to unbind a jquery plugin in IE8 -


i have jquery plugin in code force input box accept numeric input @ point have disable , make accept alphabets also. cannot use unbind() because unbind other features well. appreciated, thanks.

here jsfiddle https://jsfiddle.net/mpr73v9w/ , below code.

<input type="text"> <button>button</button>  $.fn.forcenumericonly = function () {     return this.each(function () {         $(this).keydown(function (e) {             var key = e.charcode || e.keycode || 0;              if (e.shiftkey) {                 e.preventdefault();             }              // allow backspace, tab, delete, arrows, numbers , keypad numbers             return (                 key == 8 ||                 key == 9 ||                 key == 13 ||                 key == 46 ||                 (key >= 37 && key <= 40) ||                 (key >= 48 && key <= 57) ||                 (key >= 96 && key <= 105));         });     }); };  $("input").forcenumericonly();  $("button").click(function() {     $('input').forcenumericonly.destroy(); }); 

instead of using named event method $.keydown() can use $.on() method allows event namespaces.

$(this).on('keydown.forcenumericonly', function(e) {      // handle event }); 

this makes easy unbind specific events without interfaring other features. .off() method.

$.fn.forcenumericonly.destroy = function () {     $(this).off('.forcenumericonly'); }; 

you can unbind keydown event $(this).off('keydown.forcenumericonly') or in example unbind events in forcenumericonly namespace $(this).off('.forcenumericonly').


Comments

Popular posts from this blog

Android : Making Listview full screen -

javascript - Parse JSON from the body of the POST -

javascript - Chrome Extension: Interacting with iframe embedded within popup -