首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用单击、命令/控制和移位键从列表中进行选择

使用单击、命令/控制和移位键从列表中进行选择
EN

Stack Overflow用户
提问于 2014-05-26 09:02:32
回答 2查看 1.2K关注 0票数 5

我有一个项目清单,这是根据以下条件选择的。(就像在Mac Finder中)

  1. 单击-->选择当前项并取消选择先前选定的项。
  2. 命令/控制+单击->选择当前项而不取消选择先前选定的项。
  3. Shift + Click ->在以前单击的项和当前单击的项之间选择项。

经过挑选后,

  1. 我需要找到选定的物品。
  2. 我需要取消选择所有选定的项目。

我的模板:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<ul >
    {{#each}}
        {{#view App.TestView}}
          <li class="user">{{val}}</li>
        {{/view}}
    {{/each}}
</ul>

JavaScript:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
App.IndexRoute = Ember.Route.extend({
    model: function() {
        return [{'val':'red', 'isActive': false},{'val':'blue', 'isActive': false},{'val':'green', 'isActive': false},{'val':'yellow', 'isActive': false},{'val':'orange', 'isActive': false},{'val':'pink', 'isActive': false}];
    },
    actions: {
        changeBgSelection: function (params) {
            var temp_obj =this.get("controller").objectAt(this.modelFor("index").indexOf(params));
            temp_obj.isActive=true;
        },
        deSelectAll: function(){
            this.get("controller").setEach("isActive", false);
        },
        getSelected: function(){
            //Get the selected items from the list
        },
        unSelectAll: function(){
            //To deselect all 
        }
    }
});  


App.TestView = Ember.View.extend({
    classNameBindings: ["isActive"],
    isActive: false,
    click: function(e) {  

        // Need to handle for click, control/command key + click , shift key + click. 

        // Need to call the method when an item is clicked 
        // this.get("controller").send("deSelectAll");
        this.set("isActive", !this.get("isActive"));
        var temp_model = this.get("context");
        this.get("controller").send("changeBgSelection", temp_model);
}

});

我的JSBin 链接

我无法实现这一点,因为我是新成员。我正在学习,并有许多更新,非常感谢您的答复和任何方面的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-28 22:16:08

经过很长一段时间的尝试,我已经找到了流程和它的工作良好的所有选择条件的名单。另外,Ctrl +A选择列表中的所有项目。

JSBin 链接

票数 0
EN

Stack Overflow用户

发布于 2014-05-26 09:54:52

首先,您应该在视图上设置模型,这样您就可以实际引用它,而不必将上下文传回并进行搜索:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{{#view App.TestView model=this}}
   <li class="user">{{val}} - {{isActive}}</li>
{{/view}}

然后,只需向isActive添加别名并切换该属性即可。此外,您还可以使用e.ctrlKeye.shiftKeye.metaKey来确定是否单击了ctrl/shift/命令。我给你举了个小例子让你开始。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
App.TestView = Ember.View.extend({
  classNameBindings: ["isActive"],
  isActive: Ember.computed.alias('model.isActive'),
  click: function(e) {  
    if(e.ctrlKey) {
      this.toggleProperty("isActive");
    }else{
      this.get("controller").send("deSelectAll");
      this.toggleProperty("isActive");
    }
  }
});

http://jsbin.com/kocupegi/2/edit

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23874775

复制
相关文章
利用ICMP进行命令控制和隧道传输
在这篇文章中,你会了解到通过ICMP命令控制和ICMP隧道进行数据窃取的RED TEAM行动,使用这两种方法在网络中产生的畸形流量,有助于规避防火墙规则。
FB客服
2019/08/21
1.5K0
列表元素循环移位中Python切片的妙用
之前有个文章中介绍了列表循环移位的3中方法,原文请见:Python序列循环移位的3种方法 其中第二种方法虽然更直接地翻译了题目的要求,但是显得还是有点啰嗦,如果充分利用Python中的切片技术,可以写成下面更简洁的形式: >>> def demo(lst, k): x = lst[k-1::-1] y = lst[:k-1:-1] return list(reversed(x+y)) #测试用的列表 >>> lst = list(range(20)) #循环左移3位 >>> demo(l
Python小屋屋主
2018/04/16
5.7K0
Mac下从安装Git到使用github进行版本控制(git命令/Xcode管理)
个人在iOS的开发过程中,经常会用到第三方类库,而这些类库大都是在GitHub上的,不得不说GitHub确实是一个非常酷的网站,实用一点说这里可以学习到很多的东西,也可以和世界各地的开发人员接触,势利一点说,拥有自己经常维护的GitHub账号,在未来找工作中也会有加分吧。
Cloudox
2021/11/23
7850
Mac下从安装Git到使用github进行版本控制(git命令/Xcode管理)
从 Python 列表(list)中随机选择一个元素
import random foo = ['a', 'b', 'c', 'd', 'e'] print(random.choice(foo)) 或 foo = ['a', 'b', 'c', 'd', 'e'] from random import randrange random_index = randrange(0,len(foo)) print foo[random_index]
Python疯子
2018/09/06
7K0
使用 Python 从字典键中删除空格
Python是广泛用于数据分析,Web开发,AI的平台,并在自动化的帮助下执行许多不同类型的任务。对我们来说,了解 python 的不同功能很重要。在本文中,我们将了解字典功能以及如何使用 python 删除键之间的空格。此功能主要用于根据需要存储和检索数据,但有时字典的键值之间可能存在空格。当用户希望访问数据时,甚至在要编辑数据的情况下,这会导致错误。
很酷的站长
2023/08/11
3830
使用 Python 从字典键中删除空格
Selenium中单击Element:ElementClickInterceptedException
element = driver.find_element_by_css(‘div[class*=”loadingWhiteBox”]’)
kirin
2021/04/02
1.1K0
内网转发及隐蔽隧道 | 使用ICMP进行命令控制(Icmpsh)
ICMP隧道简单实用,是一个比较特殊的协议。在一般的通信协议里,如果两台设备要进行通信,肯定需要开放端口,而在ICMP协议下就不需要。最常见的ping命令就是利用的ICMP协议,攻击者可以利用命令行得到比回复更多的ICMP请求。在通常情况下,每个ping命令都有相应的回复与请求。
谢公子
2022/01/19
7770
内网转发及隐蔽隧道 | 使用ICMP进行命令控制(Icmpsh)
使用MIC进行变量选择
如果有很多自变量,我们能在很多自变量中选出几个对因变量影响最大的吗?或许MIC可以解决这个问题哦。 # -*- coding: utf-8 -*- """ Created on Mon Mar 14
钱塘小甲子
2019/01/29
1K0
使用MIC进行变量选择
单片机c语言循环移位指令,avr单片机中左移位和右移位指令
计算机的指令系统是一套控制计算机操作的代码,称之为机器语言。计算机只能识别和执行机器语言的指令。为了便于人们理解、记忆和使用,通常用汇编语言指令来描述计算机的指令系统。汇编语言指令可通过汇编器翻译成计算机能识别的机器语言。
全栈程序员站长
2022/08/23
1.8K0
css列表属性和样式控制
如下图是360浏览器主页的内容,上边有导航,下边是新闻列表,这种布局很常见,今天就来学习css列表属性之后并制作它。
呆呆
2021/09/29
1K0
css列表属性和样式控制
如下图是360浏览器主页的内容,上边有导航,下边是新闻列表,这种布局很常见,今天就来学习css列表属性之后并制作它。
呆呆
2021/11/26
1.2K0
使用 sed 命令进行复制、剪切和粘贴
如果你使用的是 Linux、BSD 或 macOS,那么它们已经安装了 GNU 的或 BSD 的 sed。这些是原始 sed 命令的独特重新实现。虽然它们很相似,但也有一些细微的差别。本文已经在 Linux 和 NetBSD 版本上进行了测试,所以你可以使用你的计算机上找到的任何 sed,但是对于 BSD sed,你必须使用短选项(例如 -n 而不是 --quiet)。
用户8965210
2021/09/27
1.9K0
使用 sed 命令进行复制、剪切和粘贴
很少有 Unix 命令像 sed、grep 和 awk 一样出名,它们经常组合在一起,可能是因为它们具有奇怪的名称和强大的文本解析能力。它们还在一些语法和逻辑上有相似之处。虽然它们都能用于文本解析,但都有其特殊性。本文研究 sed 命令,它是一个 流编辑器(stream editor)。
用户8639654
2021/09/13
1.7K0
如何理解和使用Python中的列表
Python有6个序列的内置类型,但最常见的是列表和元组。今天我们就来讲讲列表。
小土豆Yuki
2020/06/15
7K0
控制WinForm中Tab键的跳转
在Winform中,默认情况下,按下Tab键,光标会按照我们设定的TabIndex值从小到大进行跳转。
跟着阿笨一起玩NET
2019/03/15
1.7K0
如何从列表中获取元素
观察URAM的物理管脚,不难发现A/B端口都有相应的地址、使能、读写控制信号。与BRAM不同的是URAM的读写使能信号是同一个管脚RDB_WR_A/B,其为0时执行读操作,为1时执行写操作,这意味着一旦A/B端口独立,同一端口的读写操作就无法同时发生,因此,如果采用上一篇文章中介绍的方法将其配置为两个独立的单端口RAM,其读写行为与常规的单端口RAM是不同的,进一步而言,此时的读写行为类似于NO_Change模式。
Lauren的FPGA
2019/10/30
17.5K0
Linux中作业控制命令
开门见山,最近.NET劝退师要在linux上写些长时间运行的脚本,获取Azure BlobStorage存储的数据。 记录一下Linux中后台执行作业的命令。
有态度的马甲
2020/07/06
2.5K0
列表选择Spinner
1.只用XML配置来显示列表 在res\values中添加一个arrays.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <resources>
欢醉
2018/01/22
9640
列表选择Spinner
内网转发及隐蔽隧道 | 使用DNS进行命令控制(DNS-Shell)
DNS协议是一种请求、应答协议,也是一种可用于应用层的隧道技术。DNS隧道的工作原理很简单,在进行DNS查询时,如果查询的域名不在DNS服务器本机缓存中,就会访问互联网进行查询,然后返回结果。如果在互联网上有一台定制的服务器,那么依靠DNS协议即可进行数据包的交互。从DNS协议的角度来看,这样的操作只是在一次次地查询某个特定的域名并得到解析结果,但其本质问题是,预期的返回结果应该是一个IP地址,而事实上返回的可以是任意的字符串,包括加密的C&C指令。
谢公子
2022/01/19
1.4K0
内网转发及隐蔽隧道 | 使用DNS进行命令控制(DNS-Shell)
内网转发及隐蔽隧道 | 使用DNS进行命令控制(dnscat2)
dnscat2是一款开源软件,使用DNS协议创建加密的C&C通道,通过预共享密钥进行身份验证;使用Shell及DNS查询类型(TXT、MX、CNAME、A、AAAA),多个同时进行的会话类似于SSH中的隧道。dnscat2的客户端是有Windows版和Linux版,服务端是用Ruby语言编写的。严格的说,dnscat2是一个命令与控制工具。
谢公子
2022/01/19
4.3K0
内网转发及隐蔽隧道 | 使用DNS进行命令控制(dnscat2)

相似问题

切换移位,控制和Alt键

12

用控制和移位键改变列表选择的行为与jQuery优化-更新2

11

使用移位键选择多个div

10

角垫表和移位单击选择

40

Java : Mac命令键,用于在列表中进行多项选择(而不是控制)

33
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文