开发者

Remove filter attribute after jQuery UI dialog is finished opening

Using jQuery UI 1.8rc3 combined with the new jquery.effects.fade.js code, I've been able to finally apply fade-in and fade-out effects to opening the UI Dialog widgets. Hooray!

$dialog.dialog({
        show: { effect: "fade", options: {}, speed: 150 }
}

This works great - unfortunately, there's the known IE7 & 8 bug where the ClearType gets turned off by the application of an empty filter: style attribute after the fade effect is finished.

I have the code to remove the filter attribute, I just can't find a good way to hook it into the event chain. The dialog's "open" and "focus" events are too soon. I need something like a "dialog opening animation is finished" callback.

How can I hook 开发者_开发知识库up a callback to the end of the opening effect for a dialog?


Try putting your callback as the complete property of the "show" parameter object:

  .show({
    effect: "fade",
    options: {},
    speed: 150,
    complete: function() {
      /* interesting stuff to do here */
    }
  })

I got that by looking at the jQuery (core) source for jQuery.speed which is, I think, where that object passed to show will get sent.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜