javascript - 如果在输入内部或外部单击,则阻止事件更改

标签 javascript jquery

如果在输入内部或外部单击,如何阻止事件更改,我遇到一些问题。

<input type="number" id="tenure-long" value="2" min="1" max="10" />

$( document ).on( 'keyup change', '#tenure-long', function( e ) {
    // fire function
});

// try block with this, but not working
$( document ).on( 'click', 'body', function(event){
    event.preventDefault();
    event.stopPropagation();
});

我希望,如果用户更改输入值并单击页面的其他元素后,不会再次触发更改事件。

最佳答案

你可以试试这个:

$(document).on( 'click', 'body', function(event){
  if (event.target.id !== 'ternure-log') {
    $('#tenure-long').attr('disabled','disabled')
  }
});

如果您点击其他地方,您可以禁用您的输入,这样就不可能再次更改它的值。

Here您有现场演示。

关于javascript - 如果在输入内部或外部单击,则阻止事件更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49067061/

相关文章:

javascript - jeditable 和 autocomplete 协同工作的工作示例

javascript - 如何激活新的输入元素来绑定(bind)模糊功能?

javascript - 如何检查 <div> 元素是否已添加到页面 - jquery

javascript - 如何使用 JSON Web token 验证从 chrome 扩展到我的应用程序的 POST 请求?

javascript - Google Apps 脚本中的条纹 HTML 标签

javascript - 更改 div 的 ID 后,它仍然引用旧元素(jQuery/JS)

javascript - 单击其他时取消选中复选框

javascript - 通过 jQuery 从标题到数据-*?

javascript - Safari 在 jQuery 中返回错误的 CSS 值

javascript - 在 ExtJS 中中止 Ajax 请求