2011-07-20 13 views
0

私はjqueryの最新バージョンを使用しています。buttonset()スパンがIE7で正常に動作しない

Im IE7ユーザーがボタンセットスパンをクリックするたびに(ユーザーが関心事である限りボタン全体がかなりわかります)、ページは約600ピクセル上にスクロールアップされます。

これは本当に良いことではありません。特に、ラジオがスクロールバーのあるページのかなり下に位置しているため、60個のオプションを選択したいユーザーをイメージできますか?毎回下にスクロールする必要がありますか?

私は、文字通り、これらの私のラジオに何もなく、これを使用しない:

$(".prettyme br").replaceWith(''); //fix RadioButtonList Bug 
$(".prettyme").buttonset(); 

あなたはで私のバグのライブバージョンを見ることができます:の1を下にスクロールしてクリックし、http://www.apff.org/fr/inscriptions.aspx?i=18

使用IE7番号の前にC-が付いたチェックボックスの多くのボタン。

私は、ボタン画像を作成するラベルの内側にあるスパンに関連していることを知っています。そのスパンの1つにclickイベントを付けてfalseに戻すと、これ以上の動作をしません。チェックボックスはチェックされず、ラベルのチェックが外されます)

どのようにしてこの過酷なJqueryの動作を停止できますか?

+0

公正である。それはIE7の悪質な行為のように聞こえる。 –

答えて

0

ボタンをクリックする前にスクロールバーの位置を保存し、後でスクロールバーを元の位置に戻すことでこのバグを修正しました。

/* 
* The code below fixes a bug in Internet Explorer. 
* The bug happens when a gender button is being clicked, 
* and scrolls the page down. 
* Don't replace it by 'return false' or 'preventDefault()', 
* it will prevent the radio button from being selected. 
*/ 
$('.ui-button').live("click", function(event) { 
    // save the vertical scrolling bar's position 
    scrollTop = $(window).scrollTop(); 

    $('.box_radio').click(function(){ 
    // bring the scrolling bar at its initial position 
    if (scrollTop) 
     $(window).scrollTop(scrollTop); 
    scrollTop = false; 
    }); 
}); 

box_radioはボタンの親要素です。

関連する問題