小编Bri*_*ian的帖子

对于IE和FF使用JQuery或onbeforeunload

我在"index.template.html"文档中使用javascript在Flex4应用程序中工作.我有一个问题是能够使用Firefox的onbeforeunload.该应用程序在IE中完美运行,但完全相同的一个不适合FF.(见下文)

<script type="text/javascript">
window.onbeforeunload=before;
window.onunload=after;

function before(evt)
{
   var flex=document.$(application)||window.$(application);
   flex.unloadMethod(); //custom method to log out the user
}

function after(evt)
{

}
</script>
Run Code Online (Sandbox Code Playgroud)

从我发现的,FF似乎没有注册onbeforeunload事件,所以我发现使用的流行的东西是与JQuery绑定.因此,我删除了上面的代码并将其替换为以下代码,但是当用户尝试在IE和FF中离开页面时,它不会显示弹出窗口.任何似乎都在使用JQuery的人似乎都在做同样的事情,所以我不知道发生了什么.

<script type="text/javascript">
$(window).bind("beforeunload",function(event){
   return "This should create a pop-up";
});
</script>
Run Code Online (Sandbox Code Playgroud)

最终在第一段代码中调用"flex.unloadMethod"会很好,但暂时我只是试图让弹出窗口工作,所以我知道我在正确的轨道上.任何见解将不胜感激.

javascript jquery onbeforeunload flex4

13
推荐指数
1
解决办法
3万
查看次数

在表之间拖动行

这个想法非常简单,几乎可以运作.有两个表,用户可以选择在两个表之间拖动行.当一行从table1拖到table2时,使用ajax以使用从table1中删除的数据更新数据库,添加到table2,并使用新数据重新显示这两个表.如果信息从table2拖到table1,同样的事情也有效.

您可以在此处查看代码示例.

以下是其中一个表的Javascript代码的摘录:

var startTable = "table1";
var $tabs=$("#" + startTable);
$( "tbody.connectedSortable")
.sortable({
    connectWith: ".connectedSortable",
    items: "> tr:not(:first)",
    appendTo: $tabs,
    helper:"clone",
    cursor:"move",
    zIndex: 999990
})
.disableSelection()
;
$($tabs).droppable({
    accept: ".connectedSortable tr",
    hoverClass: "ui-state-hover",
    drop:function(event, ui){
        var start= ui.draggable.attr("id");
        var desTable = $(this).attr("id");
        if(start != desTable){
            alert("The ajax should be called");
        }
        return false;
    }
});
Run Code Online (Sandbox Code Playgroud)

除了一个案例外,它完美无缺.如果将一行从Table1拖到Table2,它会创建一个插槽,以显示放行该行时将插入行的位置.换句话说,如果用户将Table1中的一行拖到Table2的最后一个元素,它会创建一个打开的占位符(在Table2的最后一行下)来描述放开时行的去向.这有一个问题.如果创建了占位符但是然后将行拖到表外并放开,则该行仍然会转到占位符,但永远不会调用draggable属性.

我想要发生的是,如果创建了一个占位符,无论行放在何处,它都会转到占位符并调用与放入的表对应的可放置代码.如果没有地方-holder存在,该行应该返回到它被拖动的位置,并且不会发生任何事情.

我试过的每个例子在两个表之间拖动行都有同样的问题.你有没有办法调用droppable代码,即使行被丢弃在表外?或者也许有一种更好的方法来调用ajax而不是将行放在桌面上?任何见解将不胜感激.

javascript jquery-ui jquery-ui-sortable jquery-ui-draggable jquery-ui-droppable

3
推荐指数
1
解决办法
5986
查看次数