【发布时间】:2019-07-23 20:46:03
【问题描述】:
我有一些这样的单选按钮设置:
<div id="typeRadios">
<input id="note_notetype_note1" name="note[notetype]" type="radio" value="note1" /><label for="note_notetype_note1">note1</label>
<input id="note_notetype_note2" name="note[notetype]" type="radio" value="note2" /><label for="note_notetype_note2">note2</label>
</div>
我变成这样的jQueryUI按钮:
$("#typeRadios").buttonset();
这是生成的 HTML:
<input type="radio" value="note1" name="note[notetype]" id="note_notetype_note1" class="ui-helper-hidden-accessible">
<label for="note_notetype_note1" aria-pressed="false" class="ui-button ui-widget ui-state-default ui-button-text-only ui-corner-left" role="button" aria-disabled="false"><span class="ui-button-text">note1</span></label>
<input type="radio" value="note2" name="note[notetype]" id="note_notetype_note2" class="ui-helper-hidden-accessible">
<label for="note_notetype_note2" aria-pressed="false" class="ui-button ui-widget ui-state-default ui-button-text-only ui-corner-left" role="button" aria-disabled="false"><span class="ui-button-text">note2</span></label>
这些按钮可以工作,但每当我单击一个按钮时,浏览器视口就会返回到页面顶部,就像单击 <a href="#">link</a> 链接时发生的情况一样。
我正在使用 jQuery 1.4.2 和 jQueryUI 1.8.7。我怎样才能防止这种行为?感谢阅读。
编辑:<a href="#">link</a> 部分丢失。
【问题讨论】:
-
当您隐藏单选按钮时,它会将它们从屏幕移到页面顶部。这就是为什么浏览器在选择一个时会跳到顶部的原因。尝试添加 position:relative to your div 'typeRadios' - 这会将它们本地化到屏幕的该区域。
标签: javascript jquery jquery-ui