firefox和自制的jquery小部件的刷新问题

时间:2011-06-04 17:04:42

标签: javascript jquery jquery-ui firefox jquery-widgets

我在Firefox 4上有一个自制的jquery小部件有问题(我还没有测试过其他版本的Firefox)。

我的小部件的目的只是在输入“file”类型后添加2个输入元素。 所以这里是对小部件和我的HTML代码的调用:

<script>
$(function() {
    $('#first_file, #second_file').customFileInput();
});
</script>

<div>
    <input type="file" id="first_file" />
</div>

<br /><br />

<div>
    <input type="file" id="second_file" />
</div>

如果您禁用窗口小部件并选择2个文件,然后使用F5刷新页面,则浏览器会记住这两个文件。

现在,这是我的小部件代码:

(function( $, undefined ) {

$.widget('ui.customFileInput', {
    _create: function() {
        var self = this;
        self.fileInput = self.element;
        var parent = self.fileInput.parent();

        self.textInput = $('<input type="text" />');
        self.browseInput = $('<input type="button" value="Do it" />');

        parent.append(self.textInput);
        parent.append(self.browseInput);
    }
});

$.extend($.ui.customFileInput, {
    version: "1.0",
});

})( jQuery );

如果在激活窗口小部件的情况下,您尝试选择2个文件,然后按F5,则只记住第一个文件。 问题的根源似乎是'追加'方法。但我也尝试过insertAfter,insertBefore,add,wrap等方法,但总有同样的问题。

有人知道如何解决这个问题吗?

注意:我已经尝试过IE 9但是这个糟糕的浏览器会在按下F5后记住字段值,因此该问题不适用于此浏览器。

编辑:错误更正

0 个答案:

没有答案