触发Ctrl + A事件 [英] Trigger ctrl+a event

查看:225
本文介绍了触发Ctrl + A事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个SAPUI5 SelectDialog控件,其中包含StandardListItem控件以显示数据列表,如下所示:

I have a SAPUI5 SelectDialog control, which contains StandardListItem control inside it to display a list of data, something like this:

我可以一个一个地选择每个条目.

I can select each entry one by one.

我要实现的目标是提供全选"或全选"功能.如果我在对话框中按 ctrl + A ,则效果很好&选择对话框中的所有条目.我想要的是在顶部提供一个按钮/复选框,用户可以选择一次选择/取消选择所有条目.与multicombobox不同,SelectDialog控件没有内置的全选"方法.

What I want to achieve, is to provide "SELECT ALL" or "DESELECT ALL" functionality. If I press ctrl+A inside dialog box, it works well & selects all the entries inside the dialog. What I want is to provide a button/checkbox at the top, which user can select to select/deselect all the entries at once. Unlike multicombobox, SelectDialog control does not have inbuilt "Select All" method.

https://www.w3schools.com/jsref/event_ctrlkey.asp ,我尝试使用按钮触发 ctrl + A 事件,但似乎不起作用.有任何输入吗?

Using tutorial at https://www.w3schools.com/jsref/event_ctrlkey.asp, I tried triggering ctrl+A event using a button, but it seems not working. Any input on this?

我尝试过的代码

<script>event.$(document).ready(function(){
        $("#myButton").click(function () {  
        var triggerEvent = $.Event();
        triggerEvent.buttonevent == 65; //keycode for alphabet A
        triggerEvent.ctrlKey == true;
        $(this).trigger('triggerEvent');
    });
    });</script>



<SelectDialog id="myDialog" growingThreshold="2000" 
        multiSelect="true" noDataText="NoDataFound" liveChange="handleSearchSelectionDialog" items="{model>/data}"
        search="handleSearchSelectionDialog" title="Choose" contentHeight="50%">
        <StandardListItem id="abc" 
            title="SELECT ALL" type="Active"/>
        <StandardListItem id="myId" 
            title="data" type="Active"/>
<button onclick="clicked" id="myButton">SELECT ALL</button>
    </SelectDialog>

谢谢.

推荐答案

我认为可以在这里找到您的解决方案: 使用JavaScript触发键盘事件

I think your solution can be found here: Firing a Keyboard Event in JavaScript

您基本上需要触发两个键事件. 首先是ctrl,然后是"a".

you basically need to trigger two key-events. At first for the ctrl and followed up the 'a'.

var ctrlEvent = new KeyboardEvent("keydown", {bubbles : true, cancelable : true, keyCode : 17, char : 17, shiftKey : true});
var aEvent = new KeyboardEvent("keydown", {bubbles : true, cancelable : true, keyCode : 65, char : 65, shiftKey : true});

document.dispatchEvent(ctrlEvent);
document.dispatchEvent(aEvent);

这篇关于触发Ctrl + A事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆