最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Jquery accordion change event doesn't fire - Stack Overflow

programmeradmin6浏览0评论

This doesn't work:

<!DOCTYPE html>
<html xmlns="">
<head>
    <link rel="stylesheet" type="text/css" href="css/smoothness/jquery-ui-1.10.1.custom.css" />
    <script type="text/javascript" src="js/jquery-1.9.1.js"></script>
    <script type="text/javascript" src="js/jquery-ui-1.10.1.custom.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {

            $("#accordion").accordion({
                change: function (event, ui) { alert('test'); }
            });

        });
    </script>

</head>
<body>


    <div id="accordion">
        <h2><a href="#">Header1</a></h2>
        <div>
            <p>content 1</p>
        </div>
        <h2><a href="#">Header2</a></h2>
        <div>
            <p>content 2</p>
        </div>
    </div>


</body>
</html>

This doesn't work:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <link rel="stylesheet" type="text/css" href="css/smoothness/jquery-ui-1.10.1.custom.css" />
    <script type="text/javascript" src="js/jquery-1.9.1.js"></script>
    <script type="text/javascript" src="js/jquery-ui-1.10.1.custom.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {

            $("#accordion").accordion({
                change: function (event, ui) { alert('test'); }
            });

        });
    </script>

</head>
<body>


    <div id="accordion">
        <h2><a href="#">Header1</a></h2>
        <div>
            <p>content 1</p>
        </div>
        <h2><a href="#">Header2</a></h2>
        <div>
            <p>content 2</p>
        </div>
    </div>


</body>
</html>
Share Improve this question asked Mar 8, 2013 at 15:28 SeanSean 15.1k17 gold badges82 silver badges135 bronze badges
Add a comment  | 

2 Answers 2

Reset to default 21

The accordion widget does not expose a change event in recent versions of jQuery UI.

You can bind to the activate event instead:

$("#accordion").accordion({
    activate: function(event, ui) {
        alert(ui.newHeader.text());  // For instance.
    }
});

Did you make sure and include the proper reference to the jQuery library?

try with this

<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.js'></script>
发布评论

评论列表(0)

  1. 暂无评论