取消 jQuery UI Accordion 部分打开

发布于 2024-11-19 03:12:57 字数 363 浏览 0 评论 0原文

我使用 jQuery UI 手风琴小部件,我想知道是否可以使用手风琴的 changestart 事件取消打开操作。来自文档:

// This event is triggered every time the accordion starts to change.
$( ".selector" ).accordion({
   changestart: function(event, ui) { ... }
});

并且 event 包含 result 属性。我想我可以使用这个属性来取消事件,但是我必须使用什么值?如果这是错误的方式,我该如何以其他方式实现它?

I use jQuery UI accordion widget, and I wonder if it is possible to cancel opening action using accordion's changestart event. From documentation:

// This event is triggered every time the accordion starts to change.
$( ".selector" ).accordion({
   changestart: function(event, ui) { ... }
});

And event contains result attribute. I guess I can use this attribute to cancel event, but what value I have to use? And if it's the wrong way, how I can accomplish it another way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我的痛♀有谁懂 2024-11-26 03:12:57

您只需在 create 事件上加载内容...这会在创建手风琴时将数据加载到 div 中。

$('.selector').accordion({
    create : function(event,ui) {
        $('.some-div').load('/path/to/data');
    }
});

或者您可以在制作手风琴之前在页面加载上加载内容

$('.some-div').load('path/to/data');
$('.selector').accordion();

,或者您​​可以发送整个 html,然后

$('.selector').load('path/to/data').accordion();

在任何情况下将其制作为手风琴,如果您需要定期刷新数据,则在加载时加载 div 内容某个点,并设置超时来加载新数据。

$(function() {
    $('.selector').accordion();

    //Update every minute
    (function updateDiv() {
        $('.some-div').load('path/to/data');
        setTimeout(updateDiv,60000);
    })();
});

You could just load the content on the create event...this would load the data into the div when the accordion is created.

$('.selector').accordion({
    create : function(event,ui) {
        $('.some-div').load('/path/to/data');
    }
});

or you could probably load the content on page load before you make the accordion

$('.some-div').load('path/to/data');
$('.selector').accordion();

or you could send the whole html over and then make it an accordion

$('.selector').load('path/to/data').accordion();

in any case, if you need to refresh the data periodically, then load the div contents on load at some point, and setup a timeout to load the new data.

$(function() {
    $('.selector').accordion();

    //Update every minute
    (function updateDiv() {
        $('.some-div').load('path/to/data');
        setTimeout(updateDiv,60000);
    })();
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文