【问题标题】:Can I use href like an onclick?我可以像 onclick 一样使用 href 吗?
【发布时间】:2013-01-07 07:01:42
【问题描述】:

我只是想不出一种方法来使用 location.href 来表现得就像你在点击一个链接一样。 我正在尝试做的是获取包含的变量,例如,

常规链接是这样的,并且工作正常:

<a href="images/someImage.jpg" title="My Image" rel="gb_page_center[249, 266]">Click Me</a>

我正在尝试使用 href(或其他方法)调用函数来打开带有其他参数的图像,就像您要单击链接一样。

我希望我的解释正确。

感谢您的帮助。

-更新-

我终于在这里找到了我的解决方案Displaying the Popup box generated by Greybox on page load(onLoad)

谢谢大家的建议。

【问题讨论】:

  • 将 onclick 事件处理程序添加到锚点。
  • location.href = "images/someImage.jpg" title="我的图片" rel="gb_page_center[249, 266]";这根本不像我想要的那样工作。
  • 如果你只是想链接到图片为什么你需要javascript?
  • 我使用 javascript 来最终加载图像,但是我需要链接中的其他参数才能工作,因为这是使链接正确打开的原因,将图像加载到页面顶部。否则,图片只会加载,替换当前页面。
  • 所以在最终更好地理解我想要做的事情之后,我想我离解决方案越来越近了。我找到了这段代码,但它似乎仍然没有按预期工作。 $('#myanchor').click();还有其他想法吗?

标签: javascript


【解决方案1】:

为您的链接添加一个 onclick 事件。使用 JQuery,您当然可以将点击事件绑定到链接,并使用 .preventDefault() 阻止锚标记工作。代码也更简洁。

$(document).ready(function(){
  $('a').bind('click', function(e){
    e.preventDefault();
    //do whatever you wish to do
  });
});

【讨论】:

    【解决方案2】:

    回答:是的。

    <a href="javascript:yourFunction(); return false;" title="My Image" rel="gb_page_center[249, 266]">Click Me</a>
    

    【讨论】:

    • 这种方式比较好:javascript:yourFunction();返回空值;
    • return null 不会阻止默认操作,至少在 Firefox 17 中是这样。return false 会。
    【解决方案3】:

    location.hrefwindow.location.href 指的是浏览器的当前地址。如果您更改 location.href 的值,浏览器将使用该值作为其地址。因此,如果您想以编程方式将浏览器导航到链接,您只需更改其值即可。

    如果您只想要链接的点击处理程序,请不要使用 onclick 或 href,这是不好的做法,请使用单独的脚本,像这样不显眼地执行此操作:

    var button = document.getElementById('button');
    button.onclick = function(){
         do_something();
    }
    

    【讨论】:

      【解决方案4】:
      <a onclick="yourJSFunction();return false" href="images/someImage.jpg" title="My Image" rel="gb_page_center[249, 266]">Click Me</a>
      

      您只需将onclick 属性添加到您的锚标记。
      确保返回false,否则锚标记会像往常一样转到 URL。

      【讨论】:

        猜你喜欢
        • 2011-06-08
        • 1970-01-01
        • 1970-01-01
        • 2021-11-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-15
        • 1970-01-01
        相关资源
        最近更新 更多