我在项目中使用asp文本框和一些javascript代码。
在看到我的文本框中的空格被禁用后,我遇到了其他人遇到过的类似问题,并且得到了大多数javascript会产生这种问题。所以在尝试之后我得到了jQuery库1.4.4是原因。但是通过删除它,我的幻灯片将被禁用。
任何想法可能是更好或适当的解决方案吗?
Here就是样本。
我尝试过的结果向我展示了文件“jq1.js”中的以下脚本正在解决问题。
$(function () {
$('#MainGalleryData .test').lightBox();
$('#MainGalleryData2 .test').lightBox();
$('#MainGalleryData3 .test').lightBox();
$('#MainGalleryData4 .test').lightBox();
$('#MainGalleryData5 .test').lightBox();
$('#MainGalleryData6 .test').lightBox();
$('#MainGalleryData7 .test').lightBox();
$('#MainGalleryData8 .test').lightBox();
$('#MainGalleryData9 .test').lightBox();
$('#MainGalleryData10 .test').lightBox();
$('#MainGalleryData11 .test').lightBox();
$('#MainGalleryData12 .test').lightBox();
});
jQuery(document).ready(function () {
jQuery('#MainSlidesUl').fadeSlideShow();
});
答案 0 :(得分:1)
查看<script src="js/jq1.js" type="text/javascript"></script>
搜索32
,这是space
的密钥代码。您将找到以下代码:
if (settings.allowKeyboardCtrl) {
jQuery(document).bind('keydown', function (e) {
if (e.which == 39) {
var nextSlide = ActSlide - 1;
stopAutoplay();
jumpTo(nextSlide);
} else if (e.which == 37) {
var prevSlide = ActSlide + 1;
stopAutoplay();
jumpTo(prevSlide);
} else if (e.which == 32) {
if (intval) { stopAutoplay(); }
else { autoplay(); }
return false;
}
});
}
因此,当按空格时,它将返回false,这就是你的“错误”的原因。您应该禁用它或检查事件是否是输入,例如:
jQuery(document).bind('keydown', function (e) {
if ($(event.target).is('input') == false) {
...
}
});