无法在图标上触发keyup事件

时间:2016-08-10 10:44:01

标签: jquery

$(document).ready(function() {
  $('#FeedbackCloseIcon').click(function(e) {
    console.log('clicked icon');
  });

  $('#FeedbackCloseIcon').on('keyup', function (event) {
    console.log('button on icon');
    if(event.which === 13){
      console.log('enter on icon');
    }
  });
});

我遇到的问题是没有触发的FeedbackCloseIcon的keyup事件。点击事件工作正常。

<button class="dialog-close" aria-label="close" href="#" type="button">
   <span class="icon icon-close" id="FeedbackCloseIcon">x</span>
</button>

如果我将keyup事件的对象更改为

<a class="dialog-cancel" id="cancel-feedback" href="javascript:void(0)">Cancel</a>

工作正常

$('#cancel-feedback').on('keyup', function (event) {
  console.log('button on icon');
  if(event.which === 13) {
    console.log('enter on icon');
  }
});

1 个答案:

答案 0 :(得分:1)

跨度密钥/密钥或任何密钥事件未在DOM中注册,您必须得到它的父级均值Button keyup / keydown / keypress事件。< / p>

    $(".dialog-close").keypress(function (e) {            
        console.log('enter on icon');
    });