点击后触发骨干事件或按回车键

 yu诚_530 发布于 2023-02-13 07:22

我是骨干的新手,我正在寻找一种方法,当我按下Enter并点击时,我的按钮被触发.目前showPrompt仅在单击时执行.什么是最干净的DRYest方式,它也可以在按下时执行Enter,最好只用于输入字段.

(function () {

  var Friend = Backbone.Model.extend({
    name: null
  });

  var Friends = Backbone.Collection.extend({
    initialize: function (models, options) {
      this.bind("add", options.view.addFriendLi);
    }
  });

  var AppView = Backbone.View.extend({
    el: $("body"),
    initialize: function() {
      this.friends = new Friends(null, {view: this});
    },
    events: {
      "click #add-friend":  "showPrompt",
    },
    showPrompt: function () {
      var friend_name = $("#friend-name").val()
      var friend_model = new Friend({ name:friend_name });
      this.friends.add( friend_model );
    },
    addFriendLi: function (model) {
      $("#friends-list").append("
  • " + model.get('name') + "
  • "); } }); var appView = new AppView; }());

    另外,我在哪里可以阅读有关此类事件绑定的更多信息?骨干事件与JS或jQuery事件的定义有何不同?

    2 个回答
    • 您可以eventevents哈希中添加一个AppView.

      events: {
         "click #add-friend":  "showPrompt",
         "keyup #input-field-id" : "keyPressEventHandler"
      }
      

      #input-field-id您要添加事件的人在哪里.

      然后加eventHandlerAppView.

      keyPressEventHandler : function(event){
          if(event.keyCode == 13){
              this.$("#add-friend").click();
          }
      }
      

      注意:此代码未经过测试,但您可以考虑以这种方式进行测试.

      看看这个理解如何Backbone处理eventsView.

      2023-02-13 07:30 回答
    • 假设你正在使用jQueryDOM manipulation,你可以创建自己的"微型"的插件,将触发Enter的输入事件.将它放在您plugins.js或您拥有的任何设置脚本文件中:

      $('input').keyup(function(e){
        if(e.keyCode == 13){
          $(this).trigger('enter');
        }
      });
      

      现在您已经创建了这个"输入"插件,您可以通过这种方式收听事件:

      events: {
        "click #add-friend": "showPrompt",
        "enter #friend-name": "showPrompt"
      }
      

      2023-02-13 07:31 回答
    撰写答案
    今天,你开发时遇到什么问题呢?
    立即提问
    热门标签
    PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有