我想要一个脚本来验证按下的按键是'空格键',键码32.我注意到IE使用了其他函数名。使用event.which来验证用户是否按下空格键在Firefox中不起作用
我尝试了很多在这里找到解决方案,而这个:
但它仍然没有工作在Firefox。
我想我在Firefox中错误地调用了该函数。放眼整个脚本:
<textarea onkeydown="predicao(this);" cols="40" rows="10" id="test" onfocus="this.focus()"></textarea>
<input id="example" style="display: none;" onkeydown="javascript: insert(this);"/>
<script language="Javascript">
<!--
function predicao(objeto){
comprimento = objeto.value.length;
var antipenultimo = comprimento - 4;
var input = objeto.value.substring(antipenultimo,comprimento);
var output = "";
for(i=0; i<input.length; ++i){
if(output != "") output += ", ";
output += input.charCodeAt(i);
}
if (output == "91, 91, 103, 32"){
var preditor = document.getElementById('example');
preditor.value = '';
preditor.style.display = 'block';
preditor.focus();
preditor.select();
}
}
function insert(objeto){
event = event.which || window.event // IE does not pass event to the function
if(event == window.event){
code = event.keyCode;
}else{
code = event.charCode;
}
if(keynum == '32') {
var texto = document.getElementById('test').value;
texto += objeto.value+']]';
$('#test').focus();
document.getElementById('test').value = texto;
objeto.style.display = 'none';
}
}
$(document).ready(function(){
var data = "Ab Aco Ado Ala Mano Cata Ca Obo Olo Po Poq".split(" ");
$("#example").autocomplete(data);});
</script>
我试图做的是 - (我不知道名字) - 的预测帮助输入器一个文本里面。它使用jQuery自动完成。 当用户在textarea(id = test)内键入[[g']时,会打开一个自动完成的输入(id = example),因此它在'data'中搜索。当用户找到所需的数据时,他必须按空格键将数据插入到textarea中,以']]结尾'但它在Firefox中不起作用。
(是的,我使用的JavaScript和jQuery以相同的元素在一个完全错误的方式,因为我不是在这太好了,我会尽力改正它Firefox的工作之后)。
显示完整的功能。你必须通过事件作为函数任何(事件)为FX工作 - 也看看这里http://stackoverflow.com/questions/302122/jquery-event-keypress-which-key-was-pressed – mplungjan
对!完成! – Leo
不需要javascript:onkeydown =“javascript:<<< – mplungjan