我在jsp
中的遗留项目中有以下代码 <tr>
<th colspan="2">Customer</th>
<td colspan="2">
<a href="myAction.do" target="view">CustomerLink</a></td>
</tr>
单击CustomerLink时,我希望对行为进行少量修改。我只想在点击动作之前在javascript函数中进行一些处理。 我没有得到如何在javascript函数中模拟href链接行为?
我的所作所为: -
<tr>
<th colspan="2">Customer</th>
<td colspan="2">
<a href="javascript:customerLinkClicked('myAction.do')" target="view">CustomerLink</a></td>
</tr>
// javascript功能
function customerLinkClicked(path)
{
// simulate the href link behaviour, not sure how to do this
}
答案 0 :(得分:5)
<a href="javascript:customerLinkClicked('myAction.do')" target="view">CustomerLink</a>
<script>
function customerLinkClicked(path) {
if (confirm('message'))
document.location.href = path;
}
</script>
答案 1 :(得分:0)
您可以使用window.confirm获取确认对话框,根据选择返回true或false。之后,event.preventDefault方法可能会取消默认行为。
示例:http://jsfiddle.net/Klaster_1/nXtvF/
$("a").on("click", function(event) {
if(!window.confirm("Proceed?")){
event.preventDefault()
};
});
我在其中使用过jQuery,但它完全是可选的。
答案 2 :(得分:0)
怎么样:
<a href="myAction.do" onclick="customerLinkClicked()" target="view">CustomerLink</a>
首先处理onclick事件处理程序,然后将位置更改为myAction.do。
如果您想阻止更改位置,可以写
onclick="return customerLinkClicked();"
根据返回值(true,false),将发生位置更改。或者不是。
答案 3 :(得分:0)
试试这个。只需复制并粘贴
<script type="text/javascript">
function fnc()
{
if(confirm("Do you really want to go?"))
{window.open("yoursitename.do");}
}
</script
<a href="javascript:fnc()">click</a>
答案 4 :(得分:0)
你应该避免使用内联js,但是对于你当前的场景。
function customerLinkClicked(event) {
if(!confirm("Are you sure ?")) {
if(event.preventDefault) {
event.preventDefault();
}
else {
event.returnValue = false;
}
}
}
HTML
<a href="myAction.do" onclick="customerLinkClicked(event);" target="view">CustomerLink</a>