私の問題は、ここの質問に何らかの形で関連しています。メッセージを表示し、その後フェードアウトするプラグインを実行しようとしています。
プラグインは次のとおりです。
(function($) {
$.fn.showWarning = function(msg) {
return this.each(function() {
$(this).text(msg).show().hide(); // <-preloads message
$(this).fadeIn('fast', function() {
$(this).stop().text(msg);
setTimeout(function() {
$(this).fadeOut(300);
}, 2500);
});
});
};
})(jQuery);
コード全体はここにあります:http://jsfiddle.net/e5kns/6/
問題はメッセージが消えないことなので、 setTimeoutと関係があると思います。$(this) が参照すべき場所を参照していないのではないでしょうか?
Firebugは以下を提供します:
a.ownerDocument は定義されていません
そしてクロム:
キャッチされていない TypeError: 未定義のプロパティ 'defaultView' を読み取ることができません