使用jqueryUI buttonset时,无论如何都要确定它是否已初始化?

发布时间:2020-07-30 发布网站:脚本之家
脚本之家收集整理的这篇文章主要介绍了使用jqueryUI buttonset时,无论如何都要确定它是否已初始化?脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有jQuery代码刷新按钮集:

$("#myRadio").buttonset('refresh');

但我找到了一个用例,它在此行之前被调用:

$("#myRadio").buttonset();

然后爆炸,因为它没有初始化.我想看看是否有办法确定这个buttonset()初始化是否已经发生,所以我可以在调用referh之前检查:

就像是:

if($("#myRadio").buttonsetIsInitialized())
{
    $("#myRadio").buttonset('refresh');
}

检查的正确方法是什么?

解决方法

Working fiddle.

您可以通过向jQuery对象添加新方法buttonsetIsInitialized()来执行与在OP中描述的方式相同的方式:

$.fn.buttonsetIsInitialized = function () {
    return this.hasClass('ui-buttonset');
};

此方法将检查类ui-buttonset(实例化添加到元素)是否存在于元素类列表中.

if($("#myRadio").buttonsetIsInitialized()){
    $("#myRadio").buttonset('refresh');
}

希望这可以帮助.

未初始化的案例:

$.fn.buttonsetIsInitialized = function () {
  return this.hasClass('ui-buttonset');
};

if( $("#myRadio").buttonsetIsInitialized() ){
  console.log('Refresh element');
}else{
  console.log('Not initialized');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script>
<link href="https://code.jquery.com/ui/1.8.20/themes/base/jquery-ui.css" rel="stylesheet"/>


<div id="myRadio">
  <input id="first" type="radio" value="1" name="steps"/><label for="first">First</label>
  <input id="second" type="radio" value="2" name="steps"/><label for="second">Second</label>
</div>

初始化案例:

$('#myRadio').buttonset(); //Initilized

$.fn.buttonsetIsInitialized = function () {
  return this.hasClass('ui-buttonset');
};

if( $("#myRadio").buttonsetIsInitialized() ){
  console.log('refresh element');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script>
<link href="https://code.jquery.com/ui/1.8.20/themes/base/jquery-ui.css" rel="stylesheet"/>

<div id="myRadio">
  <input id="first" type="radio" value="1" name="steps"/><label for="first">First</label>
  <input id="second" type="radio" value="2" name="steps"/><label for="second">Second</label>
</div>

总结

以上是脚本之家为你收集整理的使用jqueryUI buttonset时,无论如何都要确定它是否已初始化?全部内容,希望文章能够帮你解决使用jqueryUI buttonset时,无论如何都要确定它是否已初始化?所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入脚本之家官方QQ群:1065694478
脚本之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ”
精选程序员所需精品干货内容!