我有以下代码:
<div dojoType="dijit.layout.ContentPane" id="filterForm" style="padding: 3px">
<form dojoType="dijit.form.Form">
<input dojoType="dijit.form.TextBox" style="width: 120px" />
<button dojoType="dijit.form.Button" type="submit">
Filter
</button>
<script type="dojo/connect" event="onSubmit" args="evt">
filterGrid();
dojo.stopEvent(evt);
</script>
</form>
</div>
如果我单击“过滤器”按钮,它会按预期工作,但是当用户按 Enter 键且文本框处于焦点状态时,我希望有相同的行为。但这并没有发生。事实上,当我按 Enter 时,什么也没有发生。如何让 onSubmit 处理程序在按 Enter 键时执行?谢谢。
最佳答案
达里奥这应该可行。你环境中的其他东西正在搞砸它。您可能还有另一段脚本正在拦截击键。这可能位于网页上的脚本中,甚至可能位于浏览器环境中,例如油猴脚本或其他扩展。
您应该设置一个最小的测试用例,其中网页仅包含一些最基本的 html(包括该表单)并从 aol 或 google CDN 加载 dojo 并尝试输入。如果它不起作用,请向我们提供您的测试的完整副本(或 URL),我们将尝试查看出了什么问题,但我怀疑这会起作用。然后,您需要在最小测试用例和完整站点环境之间向后工作,直到找到脚本的冲突位。
关于javascript - Dojo - 按 Enter 提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3908822/