答案来自老外http://stackoverflow.com/questions/14795035/twitter-bootstrap-modal-blocks-text-input-field

$('#myModal').on('shown', function() {
    $(document).off('focusin.modal');
});

这个是国内同学的解决方法:

http://www.oschina.net/question/226830_143869

//显示modal
$('#myModal').modal('show');
//show完毕前执行
$('#myModal').on('shown', function () {
        //加上下面这句!解决了~
        $(document).off('focusin.modal');
    // 打开Dialog后创建编辑器
    KindEditor.create('textarea[name="content"]', {
        resizeType : 1
    });
})
//hide完毕前执行
$('#myModal').on('hidden', function () {
    // 关闭Dialog前移除编辑器
    KindEditor.remove('textarea[name="content"]');
})

 

下面是我在项目中的应用,请大家注意加注释的那一句!

function computeMaskHeight() {
            var obj = $("#blockLoading");
            var parent = obj.parent();
            obj.height(parent.height());
        }

        function block(opt) {
            var defaults = {
                title: "",
                showClose: true,
                showOk: true,
                showBottom: true,
                showTitle: true,
                showHead: true,
                onOk: function() {
                },
                onShown: function(e) {
                }
            };
            var setting = $.extend(defaults, opt);
            $("#blockTitle").html(setting.title);
            if (setting.showClose) {
                $("#closeBlock, #closeBlockX").show();
            } else {
                $("#closeBlock, #closeBlockX").hide();
            }

            if (setting.showOk) {
                $("#blockOk").show();
            } else {
                $("#blockOk").hide();
            }
            $("#blockOk").unbind().click(function() {
                setting.onOk();
            });

            if (setting.showBottom) {
                $("#blockBottom").show();
            } else {
                $("#blockBottom").hide();
            }

            if (setting.showHead) {
                $("#blockHead").show();
            } else {
                $("#blockHead").hide();
            }
            $("#blockBody").html("<i class='icon-spinner icon-spin icon-4x'></i>");
            $('#blockContainer').off('shown.bs.modal').on('shown.bs.modal', function (e) {
                $(document).off('focusin.modal');//解决编辑器弹出层文本框不能输入的问题http://stackoverflow.com/questions/14795035/twitter-bootstrap-modal-blocks-text-input-field
                setting.onShown(e);
            });
            $("#blockContainer").modal();

        }

 

posted on 2014-12-11 14:29  fuyujian  阅读(2547)  评论(0编辑  收藏  举报