Javascript - 禁用除2之外的所有页面上的空格

时间:2017-09-04 08:11:10

标签: javascript php jquery html

我试图阻止在我的所有页面上按空格按钮,除了我有textareas的地方。我需要这些textarea页面上的空格,以便用户可以输入他们的支持票据消息。我已经尝试了很多不同的方法来做到这一点,但找不到工作方式。我花了大约一整个星期才尝试这个小错误。我认为是时候寻求帮助了。

错误是,当我使用下面的代码时,它告诉我,我不能使用空格(并阻止空格),尽管我在其中一个页面上,我说不要运行脚本。

我目前的代码是:

$(document).keydown(function(event) {

var myUrl_one = '/panel/staff?page=tickets';
var myUrl_two = '/panel/support';

var currentUrl = window.location.pathname;

if(currentUrl != myUrl_one || currentUrl != myUrl_two) {
        if (event.which == 32) {
            event.preventDefault();
            $.Notification.autoHideNotify('error', 'top right', 'Keyboard Error!', 'No spaces are allowed here!');
        }
}

});

1 个答案:

答案 0 :(得分:1)

感谢@RogerCageot和@Airwavezx,我发现了这个问题。

首先,我需要改变我的||运营商与&&在我的if语句中如此:

if(currentUrl != myUrl_one && currentUrl != myUrl_two) {

其次,javascript函数window.location.pathname只获取原始路径位置,而不是GET参数。因为我试图获得/panel/staff?page=tickets,所以它没有阅读?page=tickets。它只是阅读/panel/staff

我的完整工作代码如下:

$(document).keydown(function(event) {

var myUrl_one = '/panel/staff';
var myUrl_two = '/panel/support';

var currentUrl = window.location.pathname;

if(currentUrl != myUrl_one && currentUrl != myUrl_two) {
    if (event.which == 32) {
        event.preventDefault();
        $.Notification.autoHideNotify('error', 'top right', 'Keyboard Error!', 'No spaces are allowed here!');
        console.log(currentUrl, myUrl_one);
    }
}

});