小孩嘛 2017-06-23 06:17 采纳率: 0%
浏览 1185
已结题

哪位大神知道这是什么意思

 $(document).ready(function () {
   $("#commentTemplateDiv").bind(
   "click",
   function () {
       var tdObj = $("#td_"
               + $("#templateTradeOid").val());
       tdObj.find(".visitCommentsInput").focus();
   });

    $("#btn_commentTemplateDiv_close").bind("click",function () {
       closeCommentTempldateDialog();
   })
    $("span.normal,span.abnormal").bind("click",function () {
        var tVal = $(this).text();
        var tdObj = $("#td_"+ $("#templateTradeOid").val());
        var content = tdObj.find(".visitCommentsInput").val();
        var preCursorPost = getCursorPosition(tdObj.find(".visitCommentsInput"));
        //如果用户已经编辑过今天的数据, 则只有光标位置插入选中的常用词
        //否则,第一行用选中的常用词替换
        if(isTodayEdited)
        {
            if(preCursorPost >0){
                var leftCon = content.substring(0,preCursorPost);
                var rightCon = content.substr(preCursorPost);
                content = leftCon + tVal + rightCon;
                tdObj.find(".visitCommentsInput").val(content);
                setCaretToPos(tdObj.find(".visitCommentsInput")[0],(leftCon + tVal).length)
            }
        }else{
            var firstLineData = appendLine+ " " + tVal;
            content = firstLineData+ "\n"+ getExclueFirstLineContent(content);
            tdObj.find(".visitCommentsInput").val(content);
            setCaretToPos(tdObj.find(".visitCommentsInput")[0],firstLineData.length)
        }
   });

});

function getCursorPosition(obj) {
        var el = obj.get(0);
        var pos = 0;
        if ('selectionStart' in el) {
            pos = el.selectionStart;
        } else if ('selection' in document) {
            el.focus();
            var Sel = document.selection.createRange();
            var SelLength = document.selection.createRange().text.length;
            Sel.moveStart('character', -el.value.length);
            pos = Sel.text.length - SelLength;
        }
        return pos;
    }
function closeCommentTempldateDialog() {
    $("#commentTemplateDiv").hide();
    var tdObj = $("#td_" + $("#templateTradeOid").val());
    tdObj.find(".visitCommentsInput").focus();
}

function setSelectionRange(input, selectionStart, selectionEnd) {
    if (input.setSelectionRange) {
        input.focus();
        input.setSelectionRange(selectionStart, selectionEnd);
    } else if (input.createTextRange) {
        var range = input.createTextRange();
        range.collapse(true);
        range.moveEnd('character', selectionEnd);
        range.moveStart('character', selectionStart);
        range.select();
    }
}
//获取第一行的内容
function getFirstLineContent(content) {
    var idx = content.indexOf('\n');
    var firstLineData = content;
    if (idx > 0) {
        firstLineData = content.substring(0, idx);
    }
    return firstLineData;
}
//获取非第一行的内容
function getExclueFirstLineContent(content) {
    var idx = content.indexOf('\n')
    var remainLineContent = "";
    if (idx > 0) {
        remainLineContent = content.substr(idx + 1);
    }
    return remainLineContent;
}
function setCaretToPos(input, pos) {
    setSelectionRange(input, pos, pos);
}

function editVisitComments(tradeOid, ele) {
    tdClickEditVisitComments(tradeOid, null, false);
}

var oldTradeOid = "";
//是否今天的数据已经编辑标识
var isTodayEdited = false;
function tdClickEditVisitComments(tradeOid, td, isBuyerRated) {
    if (isBuyerRated) {
        return;
    }
    oldTradeOid = tradeOid;
    var tdObj = $("#td_" + tradeOid);
    var textWrapper = tdObj.find(".visitCommentsText");
    var input = tdObj.find(".visitCommentsInput");

    var content = textWrapper.text();
    if (input.is(":visible")) {
        content = input.val();
    }
    input.show();

    if(openAutoFlag){
        var ua = window.navigator.userAgent;
        var isFirefox = ua.indexOf("Firefox") != -1;  
        var isEdge = ua.indexOf("Edge") != -1;
        var isChrome = ua.indexOf("Chrome") != -1 && !isEdge;

        var y = tdObj.offset().top;
        var x = input.offset().left;
        var width = 260;
        y = y + input.height() + 5;
        if(isFirefox){
            x -= 1;
        }
        else if(isEdge){
            x -= 4;
        }
        else if(isChrome){
            x += 1;
            y -=1;
        }

        if ($("#templateTradeOid").val() != tradeOid) {
            $("#commentTemplateDiv").css({
                "position" : "absolute",
                "width" : width + "px",
                "left" : x + "px",
                "top" : y + "px",
                "display" : "block"
            });
            $("#templateTradeOid").val(tradeOid);
        }
    }

    caretPos = 0;
    if(openAutoFlag){
        //获取当前comment的第一行的数据
        var firstLineData = getFirstLineContent(content);
        //如果第一行不以"今日"字符串开始, 则插入今日这一行
        caretPos = firstLineData.length;
        if (firstLineData.indexOf(today) != 0) {
            isTodayEdited = false;
            caretPos = appendLine.length + 1;
            if (content.length > 0) {
                content = appendLine + " \n" + content;
            } else {
                content = appendLine + " ";
            }
        } else {
            isTodayEdited = true;
            caretPos = firstLineData.length;
        }
    }
    textWrapper.hide();
    input.val(content);
    if(input.is(":focus") == false){
        if(openAutoFlag){
            setCaretToPos(input[0], caretPos);
        }
        input.focus();
    }
}

function saveVisitComments(tradeOid, tid, ele, visitType) {
    var tdObj = $("#td_" + $("#templateTradeOid").val());
    var allObj = tdObj.find(".visitCommentsInput");
    if(oldTradeOid == tradeOid){
        if (tdObj.find(".visitCommentsInput").is(":focus") ) {
            return;
        }
    }
    if(oldTradeOid == tradeOid){
        $("#templateTradeOid").val("");
        $("#commentTemplateDiv").hide();
    }
    var td = ele.offsetParent;
    var textWrapper = $(td).find(".visitCommentsText");
    var oldText = textWrapper.text();
    var input = $(td).find(".visitCommentsInput");
    var text = input.val();
    if(openAutoFlag){
        if ((text == appendLine + ' ' || text == appendLine) && oldText == "") {
            text = "";
        }
    }

    textWrapper.text(text);
    textWrapper.show();
    input.hide();
    if (oldText == text) {
        return;
    }
    if(openAutoFlag &&( (appendLine +" \n" + oldText) == text)){
        textWrapper.text(oldText);
        return;
    }
    $.ajax({
            type : 'POST',
            url : "${pageContext.request.contextPath}/dsr/tbReturnVisit!saveVisitComments.action",
            data : {
                "returnVisitVo.visitComments" : text,
                "returnVisitVo.tradeOid" : tradeOid,
                "returnVisitVo.tid" : tid,
                "returnVisitVo.visitTypeCode" : visitType
            },
            success : function (data) {
                if ('success' == data) {
                    //showMsg("saving", "保存成功!");
                } else if (hasReloginScript(data)) {
                    alert("登录超时!请重新登录。");
                    $("body").html(data);
                } else if ("OperatorIsNotAssignedVisitor" == data) {
                    //alert("对不起,您当前登录账号不是该订单所属卖家下的账号!请重新登录。");
                    alert("买家已评价,无法备注。");
                    //window.top.location.href = "${pageContext.request.contextPath}/indexAction!logout.action";
                } else {
                    //                          showMsg("saving", "保存失败,请稍后重试!");
                    alert("保存失败,请稍后重试!");
                }
            },
            error : function (data) {
                //                      showMsg("saving", "保存出错,请稍后重试!" + data);
                alert("保存出错,请稍后重试!\n" + data);
            }
        });
}
//创建一个函数,用于返回一个无参数函数 
function _newSaveVisitComments(tradeOid, tid, ele, visitType) {
    return function () {
        saveVisitComments(tradeOid, tid, ele, visitType);
    }
}
function newSaveVisitComments(tradeOid, tid, ele, visitType) {
    //做一个超时器, 检查用户是否选择的是panel
    if(openAutoFlag){
        window.setTimeout(_newSaveVisitComments(tradeOid, tid, ele, visitType),
            300);
    }else{
        saveVisitComments(tradeOid, tid, ele, visitType);
    }
}
function dbClickEditVisitCommentsArea(tradeOid)
{
    $("#commentTemplateDiv").show();
}
  • 写回答

4条回答 默认 最新

  • 南宫文凯 2017-06-23 06:33
    关注

    开始是在一个id上定义一个事件,触发后获取了很多的参数,进行判断,然后拼接,修改参数的样式,用ajax发送到后台,得到后台查询的数据后拼接判断,显示多行进行。。。。。

    你能具体一个问题吗?这样一股脑复制粘贴上来!我们看了也很头疼啊!难不成又粘贴下来,一句一句翻译,也太多了!

    评论

报告相同问题?

悬赏问题

  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码