gpt4 book ai didi

jquery - onkeypress 事件未触发

转载 作者:行者123 更新时间:2023-12-01 06:55:04 25 4
gpt4 key购买 nike

我编写了一个处理鼠标和键盘事件的代码。但是 onkeypress 事件在 Firefox、IE 等中没有触发。我也尝试过 keydown 事件,但这不起作用。 li 元素的 HTML 代码为:

print "<li class=\"ui-menu-item \" id=\"toli$i\"  value=\"'$name','$email'\" role=\"menuitem\"><a class=\"ui-corner-all\" href=\"#\"  onkeypress=\"keyhandle('$name','$email');\" onclick=\"fillto('toli$i','$name','$email');\">$ename $ediv $email></a></li>";
}
elsif($field eq "cc"){

print "<li class=\"ui-menu-item \" id=\"toli\" role=\"menuitem\"><a class=\"ui-corner-all\" href=\"#\" onkeypress=\"keyhandle('$name','$email');\" onclick=\"fillcc('$name','$email');\">$ename $ediv $email></a></li>";
}
elsif($field eq "bcc"){

print "<li class=\"ui-menu-item \" id=\"toli\" role=\"menuitem\"><a class=\"ui-corner-all\" href=\"#\" onkeypress=\"keyhandle('$name','$email');\" onclick=\"fillbcc('$name','$email');\">$ename $ediv $email></a></li>";
}
}
print "</ul>";

JavaScript函数是

<script language="javascript">
function keyhandle(id,name,email){

alert (id);
}
</script>

onclick 事件正在触发,但 onkeypress 未触发。谁能告诉我这是为什么吗?

提供给浏览器的代码是

<div id="displayto" class="display ui-widget"><ul class="ui-autocomplete ui-menu ui-widget-content ui-corner-all " style="width: 550px; max-height: 200px;" aria-activedescendant="ui-active-menuitem" role="listbox"><li class="ui-menu-item " id="toli1" value="'AMAL SMITHA S','amal_smitha@vssc.gov.in'" role="menuitem"><a class="ui-corner-all" href="#" onkeypress="keyhandle('AMAL SMITHA S','amal_smitha@vssc.gov.in');" onclick="fillto('toli1','AMAL SMITHA S','amal_smitha@vssc.gov.in');">"AMAL SMITHA S" (COM) &lt; amal_smitha@vssc.gov.in&gt;</a></li></ul></div>

我已经尝试过代码

 $(document).ready(){
$("#displayto").keypress(function(){
alert('a');
});
}

但它也不起作用。我已经为每个

  • 项目提供了一个连续的 id。我想通过按键函数传递这个顺序 id。该 id 值用于在按下“向下”箭头时获取下一个 id 值,并在按下向上箭头时获取上一个值。如果按下回车键,将调用 fillto() 函数。此代码用于自动完成功能。还有其他方法可以做到这一点吗?请帮忙解决这个问题。

  • 最佳答案

    这可能有点太晚了,但现在我正在处理同样的问题,并且可能找到了解决方案。

    我的情况是:

    <span onclick="javascript: /* some javascript to select element */ " onkeypress="javascript: /* call function to process key event */">...</span>

    我在某处发现,要使元素能够捕获关键事件,它需要可聚焦。默认情况下,所有输入元素都应该是可聚焦的,也许其他一些元素也应该是可聚焦的,具体取决于浏览器。

    但是,您可以使元素可聚焦,在我的例子中,我使用 tabindex 属性来实现此目的。就像这样:

    <span tabindex="" onclick="javascript: /* some javascript to select element */ " onkeypress="javascript: /* call function to process key event */">...</span>

    这在 Firefox 中有效,但在 Chrome 中无效。只有当我在 tabindex 属性中输入一些值时,事件才会被实际触发,并且 onkeypress=""中的 JavaScript 才会被执行。

    所以现在我得到了这样的结果:

    <span tabindex="0" onclick="javascript: /* some javascript to select element */ " onkeypress="javascript: /* call function to process key event */">...</span>

    编辑:我忘了补充一点,你实际上需要聚焦该元素。我通过调用 focus() 在 onclick=""中做到了这一点。

    关于jquery - onkeypress 事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10171926/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com