jQuery库1.4.4不允许文本框中的空格

时间:2013-03-19 08:03:18

标签: jquery asp.net

我在项目中使用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();
});

1 个答案:

答案 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) {
        ...
    }
});