为输入字段(而不是表单的一部分)设置默认按钮(或在 javascript 中触发其事件)的最佳方法
Best way to set a default button (or trigger its event in javascript) for an input field, not part of a form
我有一个独立的输入字段,不是任何形式的。
我还得到了一个按钮,它有一些点击事件。
当我在输入字段中键入内容并按 Enter 键时,我希望它有效地按下按钮,或触发其 onclick 事件。因此,可以说该按钮是"输入字段的默认按钮"。
<input id='myText' type='text' />
<button id='myButton' onclick='DoSomething()'>Do it!</button>
我想我可以弄乱输入字段的按键或键按下事件并检查 Enter 键等。
但是有没有一种更"干净"的方式,我的意思是将按钮与该输入字段相关联的东西,以便按钮是"默认操作"或该字段的内容?
请注意,我不在表单中,我没有发送、发布或提交某些内容。DoSomething() 函数只是在本地更改一些 HTML 内容,具体取决于文本输入。
将 HTML 更改为:
<form onsubmit="DoSomething();">
<input id='myText' type='text' />
<input type="submit" value="Do it!" />
</form>
提交按钮(在表单中)会自动触发,您按回车键。
但是,请确保取消提交事件,您不希望浏览器重新定位。
使用以下命令取消默认值:event.preventDefault()
或让您的函数返回 false
。
尝试将你的JavaScript与你的标记分开。
.HTML
<form id="myform">
<input id='myText' type='text' />
<input type="submit" value="Do it!" />
</form>
.JS
$("#myform").submit(function(e) {
// do something
e.preventDefault();
});
编辑:
如果您不想使用表单,那么您只需执行以下操作:
$("#mybutton").on('click', function(){
// Do something
});
更好的解决方案是不使用html javascript事件,而是较旧。最好在MVC等层中分离代码,html是视图,.js是控制器
我创建了一个文件函数.js
jQuery("#myButton").on("click", function() {DoSomething()});
相关文章:
- 从Javascript方法返回全局变量
- 简单的JavaScript方法链接
- 如何为javascript方法放入jquery确认对话框
- jquery插件或javascript方法自动调整文本输入(而非文本区域)(固定宽度)可变高度的大小
- 在类外重写Javascript方法,使用默认行为
- 使用 JavaScript 方法滚动
- 如何从窗体调用外部javascript方法
- 使用c#在Web服务器上运行JavaScript方法
- 如何从角度 js 调用 javascript 方法
- 在Node.js中,我在哪里可以看到JavaScript方法的源代码,例如hasOwnProperty
- 简单的javascript方法问题
- iframe未执行Javascript方法(PHP)
- Javascript 方法看不到对象变量
- 从HTML中的另一个文件访问javascript方法
- 如何测试只在闭包范围中可见的javascript方法
- 将php表转换为angularjs javascript方法
- 使用ScriptManager.RegisterStartupScript从代码隐藏调用javascript方法
- 如何从 MVC4 链接调用 Javascript 方法(错误 JavaScript 运行时错误:对象不支持此操作)
- Java eqivalent method of “splice(a,b,..)“在 JavaScript 方法中
- 在客户端 Javascript 方法之后运行服务器方法