Shift + Click Event Woes
问题描述:
我敢肯定,我正在做一些非常愚蠢的事情,但这不行,但我无法让我的换班事件发生。我都试过:Shift + Click Event Woes
$('.ShowCannedReport_UserFilterDropdown').each(function (index, element) {
$(element).bind('click', function (event) {
if (!event.shiftKey && !event.ctrlKey) {
ShowCannedReport_UserFilter_Blur(this, event);
}
else {
ShowCannedReport_UserFilterWithShiftHeld = this;
}
});
和:
$('.ShowCannedReport_UserFilterDropdown').each(function (index, element) {
$(element).click(function (event) {
if (!event.shiftKey && !event.ctrlKey) {
ShowCannedReport_UserFilter_Blur(this, event);
}
else {
ShowCannedReport_UserFilterWithShiftHeld = this;
}
});
});
这两种显示event.shiftkey为未定义。任何想法,我做错了什么?
ShowCannedReport_UserFilterDropdown是一个多选下拉菜单,点击事件在两个版本上都触发,但shiftkey事件从未注册。
答
你能确定你的初始选择器正在工作吗?即:
$('.ShowCannedReport_UserFilterDropdown').length; //is this >0 ?
文档就绪事件处理程序中的代码是?
我已经设置了的jsfiddle模仿你想什么才达到,所有工程确定: http://jsfiddle.net/xT4ke/
而且,为什么你的每个项目进行遍历时,jQuery不会是你的,这应该足够了:
$('.ShowCannedReport_UserFilterDropdown').click(function (event) {
if (!event.shiftKey && !event.ctrlKey) {
ShowCannedReport_UserFilter_Blur(this, event);
}
else {
ShowCannedReport_UserFilterWithShiftHeld = this;
}
});
});
+0
谢谢。我知道这是愚蠢的 - 我忘了把它放在一个document.ready中 – Bob 2010-08-26 10:18:53
想必它不能在IE中工作? – 2010-08-26 09:07:02
你确实是对的。 – Bob 2010-08-26 09:09:37