Backspace不在Firefox中的wysiwyg编辑器中删除表

时间:2014-11-07 06:55:57

标签: jquery twitter-bootstrap firefox cross-browser

我创建了一个在WYSIWYG引导程序编辑器中插入表格的按钮。该代码在谷歌浏览器中工作正常。我可以使用退格键添加表,插入内容和删除表。

但是在Firefox中我既不能使用退格键删除表,也不能在表格外单击。

这是我的代码:

<div class="row">
    <div class="btn-toolbar" data-role="editor-toolbar" data-target="#editor">
        <div class="btn-group">
            <button class="btn btn-primary" title="" id="tblBtn" data-original-title="Insert table (or just drag &amp; drop)"><i class="glyphicon glyphicon-picture"></i>     </button>
        </div>
    </div>
    <div id="editor" class="well col-md-9">

    </div>
</div>


<div id="tblModal" class="modal fade">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                    <h4 class="modal-title">Insert Table</h4>
                </div>
                <div class="modal-body">
                    <div class="form-group">
                        @Html.Label("Row : ", new { @class = "control-label col-md-2" })
                        <div class="col-md-10">
                            <input type="text" id="row" name="width" class="form-control" />
                        </div>
                    </div>
                    <br />
                    <br />
                    <div class="form-group">
                        @Html.Label("Colum : ", new { @class = "control-label col-md-2" })
                        <div class="col-md-10">
                            <input type="text" id="col" name="height" class="form-control" />
                        </div>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" id="tblOk" class="btn btn-default">Ok</button>
                    <button type="button" class="btn btn-primary" data-dismiss="modal">Cancel</button>
                </div>
            </div>
        </div>
    </div>
<script type="text/javascript">
    $("#tblBtn").click(function () {
        $("#row").val("");
        $("#col").val("");
        $("#tblModal").modal('show');
    });

    $("#tblOk").click(function () {
        var row = parseInt($("#row").val());
        var col = parseInt($("#col").val());
        $("#editor").append("<table id='customTable' border='1'></table>");
        $("<tbody/>").append(function () {
            var $container = $('#customTable');
            for (var i = 0; i < row; i++)
            {
                $container.append("<tr id='newTR'></tr>");
                    var $tr = $("#newTR");
                    for (var j = 0; j < col; j++)
                    {
                        $tr.append($("<td/>").html(" ").css({ "width": "50px", "height": "30px" }));
                    }
                    $("#newTR").removeAttr("id");

            };
            return $container.html();
        });
        $('#customTable').removeAttr("id");
        $("#tblModal").modal('hide');
    });
</script>

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

我已在<br />标记的末尾和开头添加<table>解决了该问题,如下所示:

$("#editor").append("<br /><table id='customTable' border='1'></table><br />");