这与ExtJs 4.2图表有关。
只有当用户通过鼠标单击按ctrl键+列选择时,我才会在列表中选择多个列。所以,我无法找到如何在图表的itemclick事件中捕获控制键按下事件。
请发送您的建议......
答案 0 :(得分:0)
这是你可能采取的方向,而不是明确的答案。
您可能会考虑向正在使用的Panel或Viewport添加几个侦听器,添加keydown事件和keyup事件,不确定是否可行,您可能会将其添加到DOM模型中窗口也是。你看到我在这里看到的问题是你必须首先关注某些东西,你可能至少会有窗口的焦点,如果你把这个监听器放在实际的图表上,你必须通过点击关注它首先在图表上,然后选择密钥,然后再次点击,我想到的很多动作,而不是直观的。
然后在按下按键时将全局变量设置为true,并在按下按键时将其设置为false。
然后在您在图表系列上创建的itemmousedown事件中,您可以读取变量并按预期使用它。
这是听众应该是什么样子
series: [{
type: 'column',
...
listeners: {
itemmousedown: function(item, eOpts) {
.... // get your global variable here.
console.log(item);
console.log(eOpts);
}
},
答案 1 :(得分:0)
我找到了一个解决方案,它工作正常,但它是一种解决方法。
以下是代码段...
var bIsControlkeyPressed=false;
function setCtrlKey(event){
if (event.ctrlKey) {
bIsControlkeyPressed=true;
}else{
bIsControlkeyPressed=false;
}
alert(bIsControlkeyPressed)
}

<body onmousedown = "setCtrlKey(event)">hello</body>
&#13;
当您单击页面上的任何位置(正文部分,即“#hello&#39;在这种情况下)”时,如果同时按下ctrl键,此代码将全局标志设置为true,否则设置为false。我知道还有其他方法可以做到,但这种方法也适用于IE8:)