css 位置のリスト (a div
) があります。inline-block
中には隠れているrelative
位置があります。そこで、いくつかのクラスを追加ul
して、この div をに変換しようとしました。absolute
通常、リストをクリックするとリストが表示されます。IE8/9以外の他のブラウザでも動作します。
私は「つまり、絶対位置の要素が消える」とグーグルし、解決策を試しましたが、うまくいきませんでした。
ここでテストを実行できます: http://jautochecklist.googlecode.com/svn/doc/test_popup.html
ページを保存 (Ctrl+S) し、スクリプトを編集してテストできます。
位置の変換は 956 行目 (jAutochecklist.js) から始まります。wrapper
移動したい要素です
if (data.settings.absolutePosition){
var offset = wrapper.offset();
var dummy = $('<div></div>').attr('class', pluginName + '_dummy ' + pluginName + '_wrapper').width(wrapper.width()).height(wrapper.height());
obj.after(dummy);
//move the list so the absolute position can become effective
wrapper.addClass(pluginName + '_absolute').appendTo('body').css({
top: offset.top + 3,
left: offset.left
});
elements.input.focus();
}
また、リストが開いている/フォーカスされているときにポップアップを閉じると、IE ではリストが画面に残ります。