Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript I';我使用两个onready()处理程序创建并隐藏jquery时间条目,这会导致IE7和Firefox中出现严重错误_Javascript_Jquery_Django - Fatal编程技术网

Javascript I';我使用两个onready()处理程序创建并隐藏jquery时间条目,这会导致IE7和Firefox中出现严重错误

Javascript I';我使用两个onready()处理程序创建并隐藏jquery时间条目,这会导致IE7和Firefox中出现严重错误,javascript,jquery,django,Javascript,Jquery,Django,我正在一个onready()处理程序中创建一个jquery时间项,并将其隐藏在jquery中的另一个onready()处理程序中。(在两个不同的onread()处理程序中调用代码的原因是时间条目是通过可重用的Django小部件呈现程序创建的,并通过本地屏幕应用程序逻辑隐藏。) 如果您试图在隐藏的输入字段上创建jquery时间项,jquery时间项会出现严重错误。以下代码将在IE7和Firefox上导致致命错误。如果我在创建条目后隐藏它,一切正常,但我无法控制两个onready()处理程序的顺序(

我正在一个onready()处理程序中创建一个jquery时间项,并将其隐藏在jquery中的另一个onready()处理程序中。(在两个不同的onread()处理程序中调用代码的原因是时间条目是通过可重用的Django小部件呈现程序创建的,并通过本地屏幕应用程序逻辑隐藏。)

如果您试图在隐藏的输入字段上创建jquery时间项,jquery时间项会出现严重错误。以下代码将在IE7和Firefox上导致致命错误。如果我在创建条目后隐藏它,一切正常,但我无法控制两个onready()处理程序的顺序(这是由于无法解决的框架问题)。这是timeentry中的错误还是浏览器中未定义的行为?有没有一种优雅的方式来解决这个问题,而不需要特定的黑客来解决这个问题

<html>
<head>
<script type="text/javascript" src="jquery_ui/jquery-1.3.js"></script>
<script type="text/javascript" src="jquery_ui/ui.core.js"></script>
<script type="text/javascript" src="jquery_time_entry/jquery.timeentry.js"></script>
<script type="text/javascript">
$(document).ready(function(){
 $('#id_testTimePicker').hide();
});
$(document).ready(function(){
    var id = "#id_testTimePicker";
    $(id).timeEntry({spinnerImage: '%sjquery_time_entry/timeEntry.png'
    , timeSteps: [1, 5, 1]});
    $(id).timeEntry('setTime', new Date());
});
</script>
</head>
<body>
<input id="id_testTimePicker"></input>
</body>
</html>

$(文档).ready(函数(){
$('#id_testTimePicker').hide();
});
$(文档).ready(函数(){
var id=“#id_testTimePicker”;
$(id).timeEntry({spinnerImage:“%sjquery\u time\u entry/timeEntry.png”
,时间步长:[1,5,1]});
$(id).timeEntry('setTime',new Date());
});
更新:在上面的代码中,实际上只有“setTime”命令导致浏览器错误。如果我将其更改为$(id).setVal(str),其中str为小部件设置了正确的时间格式,则一切正常。

不能这样做吗

$(document).ready(function(){
    var id = "#id_testTimePicker";
    $(id).timeEntry({spinnerImage: '%sjquery_time_entry/timeEntry.png'
    , timeSteps: [1, 5, 1]});
    $(id).timeEntry('setTime', new Date());
    $(id).hide();
});

在第二个ready处理程序中,在调用timeEntry之前包含对“.show()”的调用,然后在调用后再次调用“.hide()”

这就是说,timeEntry关心它是否可见似乎有些奇怪。这真的不要紧,所以我猜这是timeEntry中的一个bug


编辑:如果您不知道第二个处理程序中的元素是否应该隐藏,只需使用“$(id).is(':hidden')”查询前面元素的状态并相应地进行操作。

这实际上并不能解决我的问题,因为时间项可能仍然不可见,因为其父容器可能被隐藏。当时间项上设置了值时,它正试图设置焦点。