簡體   English   中英

無法正確監聽 keydown 事件

[英]keydown event cannot be listened correctly

我的代碼:

<div id="queryPage">
        <div id="queryToolbar" class="row" style="display: block;">
            <div id="query-option-panel" class="col-md-offset-1 col-sm-offset-1 col-xs-offset-1">
            </div>
        </div>


        <div id="queryModal" class="modal fade" style="display: none;">
            <div class="modal-dialog modal-lg">
                <div class="modal-content">
                    <div class="modal-body">
                    <form role="form" method="GET" class="query-form form-horizontal" id="query-form" style="display: block;">
                      ...

        <div id="screen" class="Screen"></div>
    </div>

我的骨干視圖:

module.exports = Backbone.View.extend({
  tagName: 'div',
  events: {
    'click #saveReportBtn': '_handleSaveReport',
    'click #saveQuery': '_handleSaveQuery',
    'keydown #queryToolbar': '_enter',
  },
  _enter( event ) {
    console.log('event target:', + event.target.name + ', ' + event.currentTarget.name); // eslint-disable-line no-console
  },
...

keypress 事件本該被#queryToolbar 監聽,但為什么只有當#query-form 彈出時,它才能被捕獲。

謝謝

更新

我的代碼:

  events: {
    'keydown': '_enter',
  },


  _enter( event ) {
    console.log('event target:', + event.target.name + ', ' + event.currentTarget.name); // eslint-disable-line no-console
    if ( event.keyCode === 13 ) {
      console.log('enter key down'); // eslint-disable-line no-console
    }
    if ( this._getReportId() > 0 ) {
      console.log('save query'); // eslint-disable-line no-console
    } else {
      console.log('save report'); // eslint-disable-line no-console
    }
  },

當查詢表單彈出時(圖 1),我可以在控制台(圖 2)中看到登錄信息。 但是當查詢表單沒有彈出時,當輸入鍵時,我什么也看不到。 使困惑。

圖1: 在此處輸入圖片說明

圖2: 在此處輸入圖片說明

編寫您的事件處理程序如下

_enter: function(event){
    console.log('event target:', + event.target.name + ', ' + event.currentTarget.name); // eslint-disable-line no-console
}

現在你所做的只是調用一個你從未定義過的函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM