| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | //PC端表情包Namespace.register("U.MD.UI.face");/***  添加表情包**  @param {element} button 插入表情包的元素**  @param {element} el  输入框的元素*/U.MD.UI.face = function (button, el) {    var i, _el1, _el2;    if ($("#U_MD_UI_face")[0]) {//判断是否存在表情包        if ($("#U_MD_UI_face")[0].style.display == "none") {//如果存在,判断是否隐藏            U.selectEl("#U_MD_UI_face")[0].style.display = "block"; //如果隐藏 则显示表情包        } else {            U.selectEl("#U_MD_UI_face")[0].style.display = "none"; //否则,隐藏        }    } else {//不存在表情包,创建表情包        var _el = $$("div", { "style": { "position": "relative"} }, U.selectEl(button)[0]); //创建表情包的总样式        _el1 = $$("div", { "id": "U_MD_UI_face", "className": "U_MD_UI_face", "onmousedown": U.UF.EV.stopBubble }, _el); //创建表情包的阻止冒泡事件        _el2 = $$("div", { "className": "U_MD_UI_face_H" }, _el1); //创建存放表情的父级元素        for (i = 0; i <= 104; i++) {//循环打印所有的表情包 共104个            $$("button", {                "className": "U_MD_UI_face_C", "style": { "opacity": "0" }, "onclick": U.UF.C.closure(function (i) {                    U.UF.EV.stopBubble();                    U.MD.UI.face.printEmoticon(_el1, i, U.UF.E.getRangeAt(), el)                }, [i])            }, _el2); //创建单个表情,并且给每个表情赋值一个点击事件,参数为表情框元素,第几个表情,光标位置,输入框的位置,点击后打印表情到输入框的位置        }        //获取整个body部分的点击事件        U.selectEl('body').unbind('click', U.MD.UI.face.externalClick);        U.selectEl('body').bind('click', U.MD.UI.face.externalClick);    }    el.focus();};U.MD.UI.face.externalClick = function (e) {    if (window.event.srcElement.tagName != "BUTTON" && U.selectEl("#U_MD_UI_face")[0]) {//判断点击的是否是发送表情的按钮        U.selectEl("#U_MD_UI_face")[0].style.display = "none"; //如果不是,则隐藏掉表情包    }}/* 点击表情框处理** @param  {element} el1 表情框元素* @param  {number}  i 第几个表情。通过i的值代表是哪个表情* @param  {range}   range 光标的位置,先获取光标对象,然后通过光标对象获取光标位置* @param  {element}对应路径 /img/ChatingFaceGif/[face](i).gif*/U.MD.UI.face.printEmoticon = function (el1, i, range, el) {    var _imageurl = "/img/ChatingFaceGif/[face](" + i + ").gif"; //表情路径    if (!range) {        $$("img", { "onerror": U.MD.C.imgError, "src": _imageurl, "contentEditable": "true" }, U.selectEl(el)[0]);    } else {        var img = '<img contentEditable="true" src="' + _imageurl + '">';        U.UF.E.addRange(img, null, true);    }    U.selectEl(el1)[0].style.display = "none";}
 |