在javascript函数中模拟href单击?

时间:2012-10-12 05:03:46

标签: javascript java-ee javascript-events href

我在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


    }

5 个答案:

答案 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>