小编use*_*524的帖子

使用JQuery $(...)清除包含5个或更多字段的表单时IE11崩溃.val("")

如果我使用$('表单输入')在IE11中清除包含5个或更多字段的表单.val("")IE11将崩溃.HTML:

<form>
    <label>1</label><input type="text"/>
    <label>2</label><input type="text"/>
    <label>3</label><input type="text"/>
    <label>4</label><input type="text"/>
    <label>5</label><input type="text"/>
</form>
Run Code Online (Sandbox Code Playgroud)

JS:

$(document).ready(function(){
    $('#clearFormNormal').click(function(){
        $("form input").val("");
    });
});
Run Code Online (Sandbox Code Playgroud)

当我这样做递归并使用setTimeout时,它可以工作.

JS:

function clearFields (counter) {
    var i = counter || 0, deferred = new $.Deferred();
    if ($("form input").eq(i).length === 1){
        setTimeout(function(){
            $("form input").eq(i).val("");
            i = i + 1;
            clearFields(i).always(function(){
                deferred.resolve();
            });
        },0);
    } else {
        deferred.resolve();
    }
    return deferred.promise();
}

$(document).ready(function(){
    $('#clearFormSetTimeout').click(function(){
        clearFields();
    });
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/fransoverbeek/Cy5D5/7/以及

这是IE11的错误吗?

html javascript jquery internet-explorer-11

17
推荐指数
2
解决办法
4641
查看次数

标签 统计

html ×1

internet-explorer-11 ×1

javascript ×1

jquery ×1