我确信我正在做一些非常愚蠢的事情,因为这不起作用,但我不能让我的轮班活动开火。我试过了两个:
$('.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显示为undefined。知道我做错了什么吗?
ShowCannedReport_UserFilterDropdown是一个多选下拉列表,并且两个版本都会触发click事件,但Shiftkey事件从未注册。
答案 0 :(得分:1)
您能确定您的初始选择器正常吗?即:
$('.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;
}
});
});