如何解决如何检查元素是否已初始化 jQuery UI 小部件滑块、日期选择器等
滑块小部件有一个 destroy 方法,但显然只有在滑块已初始化为特定元素时才能调用它。我试图找到一种方法来检测元素是否已使用滑块小部件初始化,如果是,则使用 destroy 方法。
像这样:
if($('#myElm').slider() != NULL){
$('#myElm').slider('destroy');
}
$('#myElm').slider({
//new parameters
});
我想创建一个标志变量来检测它是否已被第一次初始化,但我确信必须有一种更优雅的方法来检查元素的 jquery 小部件的状态。
这适用于任何其他 UI 小部件,如日历: https://api.jqueryui.com/datepicker/#method-destroy
if($('#myElm').datepicker() != NULL){
$('#myElm').datepicker("destroy");
}
或标签 (https://api.jqueryui.com/tabs/#method-destroy)
if($('#myElm').tabs() != NULL){
$('#myElm').tabs( "destroy" );
}
我相信所有的 Widget 都有一个 destroy 方法。
解决方法
您正在寻找 Instance 方法:
instance() 返回:对象
检索滑块的实例对象。如果元素没有关联的实例,则返回 undefined。
查看更多:https://api.jqueryui.com/slider/#method-instance
import sys
# Here are the arg that we are going to import from command line to be able to use them.
arg1 = str(sys.argv[1]) # incoming command line arguments
arg2 = str(sys.argv[2])
arg3 = str(sys.argv[3])
arg4 = str(sys.argv[4])
arg5 = str(sys.argv[5])
arg6 = str(sys.argv[6])
arg7 = str(sys.argv[7])
arg8 = str(sys.argv[8])
space = ' '
upper =['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
lower =['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
if(arg8 == "enc"):
key = int(arg6) # the key to be use for encryption
file1 = open(arg4,"a")
with open(arg2,'r') as r:
for line in r:
for i in range(0,len(line)):
if(line[i] != space):
for j in range(0,26):
if(line[i] == lower[j]): #compare so i can encrytion my letters
if((j+int(key))>25):
file1.write(lower[((j+int(key))%25)-1])
else:
file1.write(lower[j+int(key)])
elif(line[i] == space):
file1.write(space)
print()
file1.close() # We need to closed the file
Datepicker 是小部件的害群之马,文档不显示 if($('#myElem').slider("instance") != undefined){
$('#myElem').slider("destroy");
}
,因此您可以查找 instance
或 .data()
。
widget
,
@Twisty 提供了很好的解决方案,但我发现这是最优雅的
if (typeof $('#myElm').slider() !== "undefined") {
$('#myElm').slider("destroy");
}
这适用于任何其他方法。
if (typeof $('#myElm').datepicker() !== "undefined") {
$('#myElm').datepicker("destroy");
}
if (typeof $('#myElm').tabs() !== "undefined") {
$('#myElm').tabs("destroy");
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。