jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery-ui – jQueryUI,单选按钮状态和单击事件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个页面,其中包含几组用于设置选项的单选按钮.当单击特定的一个时,认情况下使用单击事件处理程序选择其他人.功能完美,但按钮的视觉状态存在问题.

我正在使用jQueryUI的.buttonset()方法来改善美学,当我以编程方式触发.click()事件时,按钮不会在视觉上改变状态.这可能导致当前选项与屏幕上显示的选项完全不同.

用于说明问题的示例代码

<fieldset>
    <label for="button1">Button 1</label>
    <input type="radio" id="button1" name="test" />

    <label for="button2">Button 2</label>
    <input type="radio" id="button2" name="test" />
</fieldset>

$('fieldset').buttonset();

$('#button2').click(function() {
    alert('button 2 clicked');
});

$('#button2').click();

我还设置了一个小提琴,这样你就可以看到它的实际效果,如果你愿意的话:http://jsfiddle.net/T5MGh/

正如您所料,警报框会在页面加载时弹出,但按钮不会像用户点击那样直观地改变.

有什么想法吗?

解决方法

您可以单击按钮集使用的实际标签,如下所示:
$('[for=button2]').click();

这是有效的,因为你的结构在.buttonset()之后看起来像这样

<fieldset class="ui-buttonset">
    <label for="button1" 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">Button 1</span></label>
    <input type="radio" id="button1" name="test" class="ui-Helper-hidden-accessible">

    <label for="button2" aria-pressed="true" class="ui-button ui-widget ui-state-default ui-button-text-only ui-corner-right ui-state-active ui-state-hover" role="button" aria-disabled="false"><span class="ui-button-text">Button 2</span></label>
    <input type="radio" id="button2" name="test" class="ui-Helper-hidden-accessible">
</fieldset>

它最初不起作用,因为jQuery UI如何做,它依赖于通过< label>的点击,以及defult浏览器行为实际点击< input>从那以后.

大佬总结

以上是大佬教程为你收集整理的jquery-ui – jQueryUI,单选按钮状态和单击事件全部内容,希望文章能够帮你解决jquery-ui – jQueryUI,单选按钮状态和单击事件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。