避免 link 在 Javascript 中重新加载页面
Avoid a link to reload the page in Javascript
我将此按钮放在 <a>
标签中(想将其保留在 a 标签中)。
<center><a href="javascript:changePassword()" type="button" id="box_button" class="pw-button">Change Password</a></center>
问题是,当我点击 Enter 时,密码被更改,不幸的是页面重新加载,这在用户体验方面会非常烦人。那么,我该如何解决这个问题?
编辑:
好吧,我想通了,问题不在于按钮,而在于输入。
这里是代码:
<div id="login-box-field"><input type="password" id="new_password" placeholder="Password: " class="form-login myLink" title="Password" maxlength="20">
</div>
嗯,有人说了一个Form,一个JS脚本。拜托,你能告诉我,怎么做吗?此处平台上的其他一些示例不起作用:(
您可以使用 jquery 阻止 a 的默认操作(如果您不想更改 html):
$("a").click(function(event){
event.preventDefault();
});
更新:如果点击密码输入结果是页面刷新,那么你需要编辑这个输入调用的函数,所以编辑那个函数为return false
.
要防止重新加载页面,您可以在函数中使用 e.preventDefault()。
看看这个:https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault
示例:
我的 HTML:
<a href="https://google.com" class="myLink">Click me</a>
JS代码:
var myLink = document.querySelector('.myLink')
myLink.addEventListener('click', function(e) {
e.preventDefault()
})
您需要用 event.preventDefault()
阻止 link 的默认操作。为了防止 link 做任何事情,你应该省略 href
属性或者给它一个 href
的 javascript:void(0)
或等效的 javascript:;
并使用 onClick
事件处理程序来执行逻辑。
<center><a href="javascript:;" onClick="changePassword(event)" type="button" id="box_button" class="pw-button">Change Password</a></center>
<script>
function changePassword(e){
e.preventDefault();
console.log("Changing password");
//other logic
}
</script>
把锚标签换成按钮,加上onclick()事件,然后调用修改密码方法就可以了!
<div>
<center><button onclick="changePassword()" id="box_button" class="pw-button">Change Password</button></center></div>
<script>
function changePassword() {
alert("your code goes here")
}</script>
大家。
我找到了对我有用的解决方案:
<input class="tableInput" type="text" value="Table input" onkeypress="return tableInputKeyPress(event)" />
<script type="text/javascript">
function tableInputKeyPress(e){
e=e||window.event;
var key = e.keyCode;
if(key==13) //Enter
{
//do you task here...
return true; //return true to submit, false to do nothing
}
}
</script>
再次感谢所有发布他的解决方案的人:)
我将此按钮放在 <a>
标签中(想将其保留在 a 标签中)。
<center><a href="javascript:changePassword()" type="button" id="box_button" class="pw-button">Change Password</a></center>
问题是,当我点击 Enter 时,密码被更改,不幸的是页面重新加载,这在用户体验方面会非常烦人。那么,我该如何解决这个问题?
编辑:
好吧,我想通了,问题不在于按钮,而在于输入。
这里是代码:
<div id="login-box-field"><input type="password" id="new_password" placeholder="Password: " class="form-login myLink" title="Password" maxlength="20">
</div>
嗯,有人说了一个Form,一个JS脚本。拜托,你能告诉我,怎么做吗?此处平台上的其他一些示例不起作用:(
您可以使用 jquery 阻止 a 的默认操作(如果您不想更改 html):
$("a").click(function(event){
event.preventDefault();
});
更新:如果点击密码输入结果是页面刷新,那么你需要编辑这个输入调用的函数,所以编辑那个函数为return false
.
要防止重新加载页面,您可以在函数中使用 e.preventDefault()。
看看这个:https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault
示例: 我的 HTML:
<a href="https://google.com" class="myLink">Click me</a>
JS代码:
var myLink = document.querySelector('.myLink')
myLink.addEventListener('click', function(e) {
e.preventDefault()
})
您需要用 event.preventDefault()
阻止 link 的默认操作。为了防止 link 做任何事情,你应该省略 href
属性或者给它一个 href
的 javascript:void(0)
或等效的 javascript:;
并使用 onClick
事件处理程序来执行逻辑。
<center><a href="javascript:;" onClick="changePassword(event)" type="button" id="box_button" class="pw-button">Change Password</a></center>
<script>
function changePassword(e){
e.preventDefault();
console.log("Changing password");
//other logic
}
</script>
把锚标签换成按钮,加上onclick()事件,然后调用修改密码方法就可以了!
<div>
<center><button onclick="changePassword()" id="box_button" class="pw-button">Change Password</button></center></div>
<script>
function changePassword() {
alert("your code goes here")
}</script>
大家。
我找到了对我有用的解决方案:
<input class="tableInput" type="text" value="Table input" onkeypress="return tableInputKeyPress(event)" />
<script type="text/javascript">
function tableInputKeyPress(e){
e=e||window.event;
var key = e.keyCode;
if(key==13) //Enter
{
//do you task here...
return true; //return true to submit, false to do nothing
}
}
</script>
再次感谢所有发布他的解决方案的人:)