当页面重新加载拖放elenemt留在现场

时间:2017-11-09 10:57:36

标签: javascript jquery jsf primefaces

我想在使用Primefaces拖放时保留我的元素的位置我该怎么做?

使用JQuery? Java脚本?

我得到的只是

                        <p:column>
                            <div style="vertical-align: text-top;">3.</div>
                        </p:column>
                    <div id="mydiv3">
                        <p:column>
                            <p:graphicImage value="#{imageBean.imageFromDB}" id="imgDB">
                            </p:graphicImage>
                            <p:draggable for="imgDB" />
                        </p:column>
                    </div>

                </h:form> 

现在我该怎么做?

2 个答案:

答案 0 :(得分:0)

注册ondrag事件的侦听器。在回调中,在localStorage中保存/更新坐标。在页面加载时,检查localStorage中是否存在已保存的坐标。如果是这样,将元素放在这些坐标上,否则不执行任何操作谷歌从这个程序的特定步骤。

答案 1 :(得分:0)

可以通过javascript或jquery在本地保存数据。

// you save the position to localStorage in drag event.
localStorage.setItem("XPOS", x);
localStorage.setItem("YPOS", y);

在初始化时,您可以获得前一个x和y位置

var x = localStorage.getItem("XPOS")
var y = localStorage.getItem("YPOS")
if(x != null && y != null){
    // set the element position
}