【问题标题】:How to call a href by onclick event of a button?如何通过按钮的onclick事件调用href?
【发布时间】:2012-03-15 16:47:27
【问题描述】:

我有以下 a href 我用来打开 jquery 对话框,效果很好。基本上openDialog类已经附上了jquery对话框代码:

 <a class='openDialog' data-dialog-id='myEditDlg' data-dialog-autosize='false' data-dialog-alt='580' data-dialog-larg='740' data-dialog-title='test dialog' href='/mycontroller/EditDlg/myid'></a>

现在,我想通过按钮的onclick 事件来调用它。 基本上,当我单击一个按钮时,我希望具有与单击的&lt;a class='openDialog' href 相同的行为。我该怎么做?**

【问题讨论】:

  • 您在哪里分配打开对话框的处理程序(即 JavaScript 代码)?您可能需要更改选择器以包含某些按钮。
  • 在 JQuery 中,绑定到元素的 onclick 事件就像 $('.selector').click(function() { ... }) 一样简单。话虽如此,我不确定你的问题是什么......
  • 谢谢大家。抱歉,phearps 问题没有很好地表述...基本上,我希望在单击按钮时具有与
  • 但是哪一段 JavaScript 代码负责打开对话框?您可能可以更改它,使按钮执行相同的操作。
  • 谢谢@pimvdb。事实上,我需要知道如何编写代码来重现 a href 点击事件……但我不知道该怎么做。

标签: javascript jquery html button onclick


【解决方案1】:

如果我回答你的问题,那么 jQuery trigger()(?) 可能就是你要找的东西。 示例:

<button id="bt">Click</button>
<a href="example.com" id="ex">Triggerable link</a>

<script type="text/javascript">
  $('#bt').click(function() {
       $('#ex').click();
  });
</script>

【讨论】:

  • 谢谢。基本上,我希望在单击按钮时具有与
  • 我的理解是:你想要一个button,当点击它的行为就像你的a标签被点击一样。在这种情况下,上面的代码应该可以工作。
  • 谢谢@check123!现在我把代码写得更清楚了。它可以工作。所以-请告诉我是否错了-我应该为我拥有的每个按钮添加一个隐藏的href,然后绑定触发器,对吗?那么,当我点击按钮时,隐藏的 a href 就会打开,对吧?
  • 你可以这样做。或者更好的是为什么不将“a”标签设置为看起来像一个按钮。然后你就可以摆脱所有无用的负担。 google.com/search?q=style+anchor+tags+as+button
  • 别管这些小事了。对你有帮助很重要,其余的都是次要的。
【解决方案2】:

你可以模拟点击

 $('#link').click();//No arguments inside the call.

这将模拟链接上的点击事件。这与单击链接相同。如果您有一个停止链接默认行为的事件处理程序,这当然不会更改位置 如果你想重定向到 href 属性,你可以使用:

 location.href=$('#link').attr('href');

因此,如果您想在单击按钮时调用它。

$('#button').click(function(){$('#link').click();
   location.href=$('#link').attr('href');//In case the page doesn't change although you want it to
}

【讨论】:

  • 谢谢!首先,我将遵循 code123 的建议。我可以有几个按钮和href,所以我认为这很方便,如果我错了请告诉我。我只是一个初学者。非常感谢!我会告诉你的。
  • 它们实际上是一样的。如果您希望用户跟随链接到另一个页面,请使用 location.href 方法。如果您想模拟点击,您可以使用我们的任何一种方法。我的代码第一行和code123的方法基本一样。
  • 感谢您的帮助。在我的情况下,我只需要打开一个 jquery 对话框并保持在同一页面上。出于这个原因,我更喜欢维护&lt;a&gt;,将openDialog 类添加到它并像按钮一样设置样式。我在 openDialog 类上有一个 live click 绑定,它会打开一个 jquery 对话框。非常感谢!
  • u cud 只需使用按钮标签而不是
  • THX。我需要有一个按钮行为,而是一个自定义样式。例如,我不需要按钮边框,也不需要按钮的 3D 方面。无论如何,现在它可以按我的需要工作。 THX
猜你喜欢
  • 2012-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-12
  • 1970-01-01
  • 2018-01-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多