Javascript 限制零对弹出窗口无效

Javascript 限制零对弹出窗口无效,javascript,jquery,html,css,Javascript,Jquery,Html,Css,嗨,我想限制一个字段的零和点,它正在工作,但当该字段弹出时,下面的代码就不工作了 <script> $('#name').keypress(function(e){ if (this.selectionStart == 0 && e.which == 48 || this.selectionStart == 0 && e.which == 46 ){ return false; } });

嗨,我想限制一个字段的零和点,它正在工作,但当该字段弹出时,下面的代码就不工作了

<script>
  $('#name').keypress(function(e){ 
       if (this.selectionStart == 0 && e.which == 48 || this.selectionStart == 0 && e.which == 46 ){
          return false;
       }
    });
  </script>

$('#name')。按键(函数(e){
if(this.selectionStart==0&&e.which==48 | | this.selectionStart==0&&e.which==46){
返回false;
}
});

由于模态的DOM是在单击事件时动态生成的,
$('.abc')。按键不绑定到它(因为模态的DOM还不存在)

在这种情况下,可以利用事件冒泡。在您的情况下,可以声明事件处理程序,如下所示:

$(document).on('keypress', '.abc', function(e){ 
   if (this.selectionStart == 0 && (e.which == 48 || e.which == 46) ){
      return false;
   }
});
这意味着带有
.abc
的元素上的所有
keypress
事件将冒泡到文档中,事件处理程序将被触发


以下是更新后的fiddle:

由于模态的DOM是在单击事件时动态生成的,
$('.abc')。按键
不会绑定到它(因为模态的DOM还不存在)

在这种情况下,可以利用事件冒泡。在您的情况下,可以声明事件处理程序,如下所示:

$(document).on('keypress', '.abc', function(e){ 
   if (this.selectionStart == 0 && (e.which == 48 || e.which == 46) ){
      return false;
   }
});
这意味着带有
.abc
的元素上的所有
keypress
事件将冒泡到文档中,事件处理程序将被触发


下面是更新的fiddle:

您正在动态插入元素上附加click事件。为此

所以不是

$(document).keypress('.abc', function(e){ 
   if (this.selectionStart == 0 && (e.which == 48 || e.which == 46) ){
      return false;
   }
});
你可以写

$(document).on('keypress', '.abc', function(e){ 
   if (this.selectionStart == 0 && (e.which == 48 || e.which == 46) ){
      return false;
   }
});

请参阅此以了解更多信息

您将在动态插入的元素上附加click事件。为此

所以不是

$(document).keypress('.abc', function(e){ 
   if (this.selectionStart == 0 && (e.which == 48 || e.which == 46) ){
      return false;
   }
});
你可以写

$(document).on('keypress', '.abc', function(e){ 
   if (this.selectionStart == 0 && (e.which == 48 || e.which == 46) ){
      return false;
   }
});
查看此内容了解更多信息

您可以这样尝试(Javascript)

在这里,我创建了一个小提琴

您可以这样尝试(Javascript)


在这里,我创建了一个fiddle

括号,用于布尔逻辑
this.selectionStart==0&(e.which==48 | | e.which==46)
您可以为弹出窗口添加相关的HTML/JS吗?@NisargShah我正在处理的DOM节点有多少个具有相同id(
#name
)?@NisargShah括号有助于布尔逻辑
this.selectionStart==0&(e.which==48 | | e.which==46)
您可以为弹出窗口添加相关的HTML/JS吗?@NisargShah我正在处理的DOM节点有多少个具有相同id(
#name
)?@NisargShah