【问题标题】:add click event to Jquery UI accordian Header将点击事件添加到 Jquery UI 手风琴标题
【发布时间】:2010-12-20 18:06:05
【问题描述】:

当你创建一个 Jquery UI 手风琴时,你会得到一堆标题,当你点击它们时会打开一个 div。但是,我想在单击标题时执行其他操作。

我该怎么做?

有什么想法吗?

谢谢!

【问题讨论】:

  • 如果您在同一页面中提供了两个 HTML 语句,那么您的 HTML 无效,因为 ID 被认为是唯一的。如果不是,请澄清。
  • 不,那是两种不同的尝试。我又犯了一个愚蠢的错误。我在下面发布了正确答案。无论如何,谢谢,对不起。

标签: javascript jquery html jquery-ui


【解决方案1】:

Javascript

$("#CreateNewUserHeader").click(function() {
    alert("test");
});

html

<h3 id = "CreateNewUserHeader"><a >Create New User</a></h3>
<div>some stuff</div>

【讨论】:

    【解决方案2】:

    您需要将代码包装在ready 处理程序中:

    $(function(){
      $("#CreateNewUserHeader").click(function() {
        alert("test");
      });
    });
    

    同时确保您没有将 相同的 id 分配给多个元素。

    【讨论】:

    • 我的代码正常工作,是另一个部分搞砸了。对不起,还是谢谢你。
    【解决方案3】:

    过去当我需要这样做时,我所做的是这样的:

    $('#accordion h3 a').bind('click', function (e) {
      // bind to the the header / anchor clicks
      if (!condition) {
        e.preventDefault();
        e.stopPropagation();
      }
    });
    

    【讨论】:

    • 是的,这就是我最终要做的,除了我想要默认操作,而且点击传播没有问题。我想要一个额外的动作。
    【解决方案4】:

    你们应该阅读文档,有一个事件处理程序可以为您完成所有工作。

    https://api.jqueryui.com/accordion/#event-activate

    $( ".selector" ).accordion({
      activate: function( event, ui ) {}
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-26
      • 1970-01-01
      • 2015-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-19
      相关资源
      最近更新 更多