javascript - 从选择器中删除 keydown 事件不起作用?

标签 javascript jquery

我在我的一个元素上使用 keydown,但如果它不适合我的条件,我想取消绑定(bind)它。但我使用了 off()unbind 它似乎不起作用。警报仍然被触发,我不知道为什么。

if (imgDOM.naturalWidth > imgDOM.naturalHeight) {

  $('#caption').attr('maxlength', 220);

  $("#caption").keydown(function(e) {
    if ((e.keyCode == 10 || e.keyCode == 13)) {
      e.preventDefault();
      alert('Landscape photo is allowed to have only single line of message.');
      return false;
    }
  });

} else {
  $('#caption').off('keydown', function() { //this won't work
    limit_lines_for_potrait();
  })
}

最佳答案

如果你把off中的匿名函数去掉,就能解决你的问题。

....

} else {
    $('#caption').off('keydown');
    limit_lines_for_potrait();
}

关于javascript - 从选择器中删除 keydown 事件不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39685503/

相关文章:

javascript - thead 和 tbody 之间的列不匹配

javascript - Node js找不到响应主体http createserver

java - 禁用按钮刷新浏览器

javascript - jQuery 嵌套 Accordion - 禁用自动打开

javascript - 在自定义点击功能之前执行默认事件

javascript - 单击时加载 uservoice API

javascript - 根据用户点击的内容重定向到其中包含 id 的 url

javascript - 对动态填充的列表框进行排序

javascript - 访问嵌套的 javascript 对象

javascript - reducer 中的传播语法与仅返回来自操作的数组有何不同?