当焦点不在时,需要保存div的内容

时间:2016-11-21 11:14:54

标签: javascript c# jquery html asp.net

目前有两个div(也可以是任何数字),所以如果我将鼠标指针从一个div移动到另一个div,那么在第一个div中写入的内容应该保存(我有功能)。我的问题是,当我从一次潜水转移到另一次潜水时,jquery功能不会被调用。所以我尝试了onblur函数,onmouseleave函数等,但它不起作用,它只在第一次加载时工作。是因为我在动态绑定中附加功能的方式吗?请任何人帮忙

function createNewStickyNote() {
    i++;
    var row = $("<div>", { id: "divStickyNote_" + i, class: "mybox" }, onblur = onblurFunction())
            .append($("<div>", { class: "boxtitleLeft" }).html("<img src='Images/Plus.png' height='23px' width='23px' onclick=createNewStickyNote()  >"))
            .append($("<div>", { class: "boxtitleRight", }).html("<img src='Images/Delete.png' height='23px' width='23px' onclick=deleteStickyNote('divStickyNote_" + i + "','divData_" + i + "')  >"))
            .append($("<div>", { id: "divData_" + i, class: "boxcediv", contenteditable: true }));

        row.draggable({ handle: ".boxtitleLeft,.boxtitleRight" }).resizable();     
        $("#div_Main").append(row);
        popup_bar = document.getElementById("divStickyNote_"+i);
        popup = document.getElementById("divStickyNote_"+i);
        offset = { x: 0, y: 0 };         
        popup_bar.addEventListener('mousedown', mouseDown, false);            
        return false;
}

<form id="form1" runat="server">
    <div id="div_Main"></div>
</form>

2 个答案:

答案 0 :(得分:2)

tabindex="0"contentEditable可以解决您的问题。

作为旁注,你应该注意使用焦点触发器做事情,因为它们并不总是可靠的。用户不能将鼠标从盒子中移出,而是使用TAB。

如果包含备注的表单有一个用于关闭表单的热键,则将便签记录保存到数据库的功能可能会在刷新新数据之前保存旧数据。

这完全取决于代码的其余部分,但要记住这一点

答案 1 :(得分:0)

不确定'createNewStickyNote'函数的最后5行是什么 - 比较(如使用JQuery)将事件处理程序绑定到新添加的div

row.on('mousedown', mouseDown);