Keydown事件preventDefault无法在Windows Phone 8.1 IE上运行

时间:2014-08-14 12:59:16

标签: javascript jquery internet-explorer windows-phone-8

我有输入文本字段,只允许+/-十进制值。我使用keydown事件来检查键值并防止不正确的值。 它适用于所有浏览器,除了Windows手机上的IE

$('#input_Value').bind('keydown', function (e) {
   var allowedkeys = [8, 37, 39, 46];
   var position = $(this)[0].selectionStart;
   var newVal = $(this).val().slice(0, position) + String.fromCharCode(e.keyCode) + $(this).val().slice(position);
   var regex = /^(\-)?(\d{1,3})?(\,)?(\d{1,3})?(\,)?(\d{1,3})?(\,)?(\d{1,3})?(\.)?(\d){0,10}$/i;

   if (newVal == "-" || allowedkeys.indexOf(e.keyCode) > -1)
        return true;
   else if (!(regex.test(newVal) && parseFloat(newVal))) {
        if (e.preventDefault) e.preventDefault();
        else e.returnValue = false;
        return false;
   }
}

如何在Windows手机IE上阻止默认?

0 个答案:

没有答案