Javascript 如何停止默认href操作
我的JSP中有以下格式的代码Javascript 如何停止默认href操作,javascript,html,jsp,dom-events,href,Javascript,Html,Jsp,Dom Events,Href,我的JSP中有以下格式的代码 <a href="javascript:submit()">sumbit</a> 是JSP中使用HREF的示例之一。可以使用上述格式调用不同类型的函数: 我使用了以下jQuery: $("a[href^=\'javascript\']").live('click',function(e) { e.preventdefault(); eval($(this).attr('href')
<a href="javascript:submit()">sumbit</a>
是JSP中使用HREF的示例之一。可以使用上述格式调用不同类型的函数:
我使用了以下jQuery:
$("a[href^=\'javascript\']").live('click',function(e)
{
e.preventdefault();
eval($(this).attr('href'));
return false;
});
但是,这不会停止默认的HREF功能。我错过了什么?试试:
正如您在问题中提到的,您不能手动更改标记
所以,我想,这才是你真正想要的
<form id='myform' action=''>
</form>
<a href="javascript:submit()">submit</a>
更新:
通过使用窗口[href](),您可以避免eval(href)
代码>
参见此是否提交表单?那么是的,这就是它要做的。在这种情况下,你需要使用Ajax来提交表单。你能在最后一行“我也没有自由手动进入并更改代码”上发表评论吗?如果你不能更改任何内容,你需要什么样的帮助?还考虑显示你的示例“jjQuery在HREF上捕获点击事件”,因为它应该是OK。等等。“您想提交表单,但阻止了什么默认行为?”并且新页面始终保存在浏览器缓存中。“向我们显示您的submit()函数。您的意思是使用错误的大小写吗?”?您需要使用.preventDefault
——注意“D”,我不明白为什么这会被否决。我希望这不是因为eval
亲爱的投票人,下次你投票否决某人时一定要发表评论。没有理由的否决票也无济于事。如果eval
是原因,我已经更新了我的代码。嗨,Jashwant,我没有做这个更改,因为这将需要我更新个人文件,这将非常重要。有没有一种通用的方法,我可以调用任何函数followwing“javascript:,同时防止默认的href行为
<form id='myform' action=''>
</form>
<a href="javascript:submit()">submit</a>
function submit() {
document.getElementById('myform').submit();
}
jQuery(function() {
$('a').click(function() {
var href = $(this).attr('href').replace('javascript:','');
console.log(href);
alert('hi');
eval(href);
return false;
});
});