4

这是一种奇怪的行为,似乎只发生在 Chrome 和 JQuery UI 中。起初在密码字段中输入字符时,一切正常。但是,如果您尝试退格到输入中的最后一个字母,浏览器将锁定所有客户端操作。此外,如果您尝试突出显示输入的字符并退格,客户端操作将冻结。

只是伸出手看看是否有人遇到过同样的问题,以及他们是如何解决的。

为了解决这个问题,我们在 2+ 独特的页面主页视图上自动打开对话框。这是一个列表页面,因此可以触发它,对于给您带来的不便,我深表歉意,但我无法移除柜台。

页面: http: //www.christineleeteam.com/area/eagleharbor

4

3 回答 3

4

我有同样的问题,但缓存清除没有帮助。我确定这不是 jquery ui 错误。这是我的解决方案:

   $('input[type="password"]').on('keydown', function(event){
     if (event.which == 8) { //backspace event
       event.preventDefault();
       $(this).val('');
     }
   });

此代码在一个退格事件上清除整个密码字段。

于 2013-02-25T00:13:11.233 回答
4

我们遇到了同样的问题,并使用了 Benkod 的解决方案。我们对其进行了一些改进,以处理使用删除键(而不是退格键)删除密码文本的情况。另一种情况是选择控件中的所有文本并键入新文本来替换它。这是我们使用的脚本:

    Sys.Application.add_load(function() {
        $('input[type=password]').keydown(function(event) {

            var isAllTextSelected = this.value.slice(this.selectionStart, this.selectionEnd) == this.value;
            var isLastChar = $(this).val().length == 1;
            if (isAllTextSelected && $(this).val().length > 0) {
                $(this).val('');
            }
            if ((event.which == 8 || event.which == 46) && (isLastChar || isAllTextSelected)) { //backspace event

                event.preventDefault();
                $(this).val('');
            }
        });
    });
于 2013-04-23T16:05:07.990 回答
0

这里有同样的问题(FWIW,我正在使用 Twitter Bootstrap,但问题是一样的)。看起来这是由于输入之前有很多内容造成的。将输入放在更高的位置——高于大部分其他内容——对我来说是诀窍。解决方法,但总比没有好。

于 2013-07-13T09:58:53.093 回答