我正在使用模板构建一个页面组合网站。联系表格非常奇怪。我无法在任何联系人字段中输入空格。
我正在使用以下jQuery插件:
当您专注于消息字段时,它不允许您使用任何空格。关于为什么空格键不起作用的任何想法?
答案 0 :(得分:15)
jquery.gallerific.js实现了一个页面范围的keydown处理程序,它捕获空格键并阻止它运行。
934 if (this.enableKeyboardNavigation) {
935 $(document).keydown(function(e) {
936 var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
937 switch(key) {
938 case 32: // space
939 gallery.next();
940 e.preventDefault();
941 break;
如果在仍然聚焦表单的同时滚动回文档的库部分,您会注意到按空格键会前进到下一个图像。
答案 1 :(得分:3)
找到 32 的案例,并注明具体案例。这对我有用。
答案 2 :(得分:2)
我必须禁用enableKeyboardNavigation
功能才能使其正常工作。
现在,当未选择表单字段并按 SPACE 键时,网页将向下滚动。考虑到所有网站都在向下滚动,我想这是正常的。
答案 3 :(得分:2)
这对我有用,只需在按下数字32(空格按钮)时添加一个空格。
$("#input").keyup(function(event){
if(event.keyCode == 32){
$("input").val($("input").val()+' ');
}
);
答案 4 :(得分:1)
为什么不在页面设置中设置enableKeyboardNavigation = false,无论如何键盘导航的人数。
只是另一种选择。
答案 5 :(得分:1)
我通过将上面发布的代码Sparr中的this.enableKeyboardNavigation
更改为this.disableKeyboardNavigation
来解决了这个问题。
答案 6 :(得分:0)
如果您关闭Javascript,它可以正常工作。我找不到任何按键处理程序,因此这可能是您正在使用的两个JavaScript组件之间的冲突。如果没有人提出更好的想法,请尝试逐个关闭所有.js参考,直到它工作。然后你至少知道是谁造成的。
答案 7 :(得分:0)
我在一个wordpress页面上安装了一个画廊画廊,它上面也有一个重力形式,重力形式的空格键不起作用,只要有人填写表格就不允许空格。
@tim cooper建议将this.enableKeyboardNavigation更改为this.disableKeyboardNavigation,但这会禁用画廊上的所有导航,如果您习惯使用键盘上的箭头键导航大量图像,那将会很糟糕。
所以我做了一些与众不同的事情。
在jquery.gallerific.js代码的if(this.enableKeyboardNavigation)部分,我做了这个。
更改了这部分......
case 32: // space
gallery.next();
e.preventDefault();
break;
对此......
case 99999: // space
gallery.next();
e.preventDefault();
break;
(你也可能只是评论出来)
这会禁用画廊库中的空格键,但会保留画廊库中的箭头功能,并修复重力形式的表格字段空间问题。
我希望这有助于某人。
答案 8 :(得分:0)
这对我有用:如有任何问题或建议,请联系我douknowshivaji@gmail.com
// Setup Keyboard Navigation
if (this.enableKeyboardNavigation) {
$(document).keydown(function(e) {
var target = e.target || e.srcElement; // hack
//disable navigation on an input editable element
if (target && target.type) return true;
var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
switch(key) {
case 32: // space
gallery.next();
e.preventDefault();
break;
case 33: // Page Up
gallery.previousPage();
e.preventDefault();
break;
case 34: // Page Down
gallery.nextPage();
e.preventDefault();
break;
case 35: // End
gallery.gotoIndex(gallery.data.length-1);
e.preventDefault();
break;
case 36: // Home
gallery.gotoIndex(0);
e.preventDefault();
break;
case 37: // left arrow
gallery.previous();
e.preventDefault();
break;
case 39: // right arrow
gallery.next();
e.preventDefault();
break;
}
});
}
答案 9 :(得分:0)
我一直在寻找解决方案,但终于找到了解决方案,尽管我最初的问题并不涉及库勒菲尔。
我还在放置事件时向每个对象添加了一个类,以避免堆叠事件(每次将新表单添加到页面时,我都会执行此操作)。
如果您有其他与输入相关的事件,那么这可能会对您的表单产生意想不到的后果,但这在我的情况下非常有效,我认为在此处进行记录是一件好事:
$('input[type="text"],textarea').not('.allow-spaces').each(function () {
$(this).on('keydown', function (e) {
e.stopPropagation();
});
$(this).addClass('allow-spaces');
});