javascript - 使用具有相同功能的多个事件

标签 javascript jquery

我正在尝试清理我的代码。只是想知道是否有办法更好地编写这段代码?我在下面添加了一段代码:

$('.popUp-block').on("click",function() {
    $('.protect-field-container').removeClass('is-displayed');
    $(this).closest('.protect-field-container').addClass('is-displayed');
});

$('.popUp-block').hover(function() {
    $('.protect-field-container').removeClass('is-displayed');
    $(this).closest('.protect-field-container').addClass('is-displayed');
});

$('.popUp-block').focusout(function() {
    $('.protect-field-container').removeClass('is-displayed');
});

$('.popUp-block').on("mouseout", function() {
    $('.protect-field-container').removeClass('is-displayed');
});

最佳答案

简单来说,你可以用 .on() 来做到这一点:

$('.popUp-block').on("click mouseover",function() {
  $('.protect-field-container').removeClass('is-displayed');
  $(this).closest('.protect-field-container').addClass('is-displayed');
});

$('.popUp-block').on("mouseout focusout", function() {
  $('.protect-field-container').removeClass('is-displayed');
});

来自docs :

One or more space-separated event types and optional namespaces, such as "click" or "keydown.myPlugin".

关于javascript - 使用具有相同功能的多个事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37052762/

相关文章:

javascript isNaN() 函数不起作用?

javascript - 如何使用 jquery、express 和 handlebars 创建无刷新页面?

javascript - 无法使用 bootstrap 和 jquery 获取模态显示

javascript - 我想在 jquery 对话框中放置一个网页,并在对话框关闭时获取对话框中网页的 URL

javascript - 如何在 jquery droppable 事件中执行某些操作

javascript - 如何等到嵌套的异步 jQuery AJAX 请求完成?

javascript - 使用基本 URL 和 Javascript 自动生成 YouTube 嵌入内容

JavaScript 无法在下面的 html 代码中被读取

javascript - 禁用新的 block 引用内容可编辑

javascript - 关于将 javascript 事件与 innerHTML DOM 元素绑定(bind)的问题