小编Teb*_*ebo的帖子

jQuery $(窗口).scroll和Internet Explorer(8-9)

http://jsfiddle.net/CbL7W/滚动事件行为的示例.

我有这个在Chrome和Firefox中都能正常运行的脚本.

var stickyNavigationOffsetTop = $('.top-nav').offset().top;
var stickyNavigation = function () {
    var scrollTop = $(window).scrollTop();
    if (scrollTop > stickyNavigationOffsetTop) {
        $('.top-nav').css({ 'position': 'fixed', 'top': 0, 'left': 0, 'opacity': .8 });
    } else {
        $('.top-nav').css({ 'position': 'relative', 'opacity': 1 });
    }
};
stickyNavigation();
$(window).scroll(function () {
    stickyNavigation();
});
Run Code Online (Sandbox Code Playgroud)

但是Internet Explorer存在一些问题:在同一页面上我有这个脚本我有一个隐藏div的脚本的链接,当这种情况发生时有时页面会完全滚动回到页面顶部,但IE不是$(window).scroll当发生这种情况时开火

页面返回顶部时的问题的屏幕截图.

Chrome(OK):http: //i.stack.imgur.com/6WJx7.jpg

IE(错误):http: //i.stack.imgur.com/CXbKk.jpg

jquery internet-explorer scroll

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

Kendo UI Window Close事件:阻止窗口关闭

我们正在为具有各种表单的应用创建警告消息.在简单的页面中,它非常简单,我们只检测表单元素中的更改,如果用户想要卸载页面,我们会向他们显示警告消息.

但是......我们在Kendo Windows中也有一些表单,我们需要在用户想要关闭窗口时显示相同的确认消息.这是我们现在的脚本:

$('div:has(div[data-role="window"])').find('a:has(span.k-i-close)').live('click', function (e) {
    if (formHasChanged) {
        alert('pepe');
        return false;
    }
    return true;
});
Run Code Online (Sandbox Code Playgroud)

该脚本的问题在于它不会阻止窗口关闭,关闭事件似乎发生在我们的警报之前.这个解决方案可能会工作http://www.kendoui.c​​om/forums/ui/window/new-event-onclosing.aspx,但我们的窗口是动态创建的.

有没有人知道如何解决这个问题?

提前致谢!

代码是我们想要插入这个kendo thingy解决方法:

var formHasChanged = false;
$('form.withWarningMessage').find('input,select,textarea').live('change', function () {
    formHasChanged = true;
    window.onbeforeunload = function () {
        if (formHasChanged) {
            return confirmWarningMessage;
        }
    };
    $('input:submit').live('click', function () {
        formHasChanged = false;
    });
});
Run Code Online (Sandbox Code Playgroud)

jquery events kendo-ui kendo-window

4
推荐指数
1
解决办法
2万
查看次数