jQuery touchstart 与 IE 上的 nicescroll 冲突
jQuery touchstart conflict with nicescroll on IE
我使用此代码在左侧创建菜单,但在 IE 11 上不起作用,仅适用于 Firefox、Chrome、Edge 和所有其他主要浏览器。
你能帮帮我吗?
当我在 IE 11 上使用 class .morph-main-menu-button-wrapper
触摸菜单时,没有显示任何内容。
但是如果我双击这个图标,菜单就会显示出来!
删除所有js代码后问题是nicescrool:
(function($){
$(document).ready(
function() {
$("html").niceScroll({
cursorcolor: "#40A9F2",
cursorwidth: "12px",
cursorborder: "0px solid #000",
cursorborderradius: "3px",
scrollspeed: 90,
autohidemode: true,
background: '#ddd',
hidecursordelay: 400,
cursorfixedheight: false,
cursorminheight: 20,
enablekeyboard: true,
horizrailenabled: false,
bouncescroll: true,
smoothscroll: true,
iframeautoresize: true,
emulatetouch: false,
hwacceleration: true
});
}
);})(jQuery);
nicescroll和touch有冲突怎么用?
jQuery('.morph-main-menu-button-wrapper, .morph-main-menu-activator').on('touchstart touches touchend click', function(e) {
'use strict';
e.preventDefault();
if(jQuery('.morph-main-wrapper').hasClass('morph-main-wrapper-active'))
{
/* hide morph slide */
jQuery('.morph-main-wrapper').removeClass('morph-main-wrapper-active');
/* hide morph background */
jQuery('.morph-main-background').removeClass('morph-main-background-active');
/* hide background overlay */
jQuery('.morph-background-overlay').removeClass('morph-background-overlay-active');
/* hide expanded menu button */
jQuery('.morph-main-menu-button-wrapper').removeClass('morph-menu-active');
/* when menu de-activated, animate main menu items */
jQuery('.morph-menu-wrapper').removeClass('morph-menu-wrapper-active');
/* hide search field close button */
jQuery('.morph-search-close-wrapper').removeClass('morph-search-close-wrapper-active');
/* hide search field */
jQuery('.morph-search-wrapper').removeClass('morph-search-wrapper-active');
jQuery('.morph-search-wrapper #searchform #s').blur();
/* show search button */
jQuery('.morph-search-button').removeClass('morph-search-button-hidden');
/* hide secondary menu */
jQuery('.morph-secondary-menu-wrapper').removeClass('morph-secondary-menu-wrapper-active');
/* secondary menu button inactive state */
jQuery('.morph-secondary-menu-button').removeClass('morph-secondary-menu-button-active');
} else {
/* show morph slide */
jQuery('.morph-main-wrapper').addClass('morph-main-wrapper-active');
/* show morph background */
jQuery('.morph-main-background').addClass('morph-main-background-active');
/* show background overlay */
jQuery('.morph-background-overlay').addClass('morph-background-overlay-active');
/* hide expanded menu button */
jQuery('.morph-main-menu-button-wrapper').addClass('morph-menu-active');
/* when menu activated, animate main menu items */
jQuery('.morph-menu-wrapper').addClass('morph-menu-wrapper-active');
}
});
由于未应用样式存在问题,这让我相信您的 CSS 中有某些内容未在 IE 中呈现。您的 javascript 本身看起来不错,应该会触发所有事件。尝试添加触摸以更加安全。
也可以用$来引用jquery,使得
jQuery('.morph-menu-wrapper').removeClass('morph-menu-wrapper-active');
成为
$('.morph-menu-wrapper').removeClass('morph-menu-wrapper-active');
版本 3.7.3 修复触摸问题!
我使用此代码在左侧创建菜单,但在 IE 11 上不起作用,仅适用于 Firefox、Chrome、Edge 和所有其他主要浏览器。
你能帮帮我吗?
当我在 IE 11 上使用 class .morph-main-menu-button-wrapper
触摸菜单时,没有显示任何内容。
但是如果我双击这个图标,菜单就会显示出来!
删除所有js代码后问题是nicescrool:
(function($){
$(document).ready(
function() {
$("html").niceScroll({
cursorcolor: "#40A9F2",
cursorwidth: "12px",
cursorborder: "0px solid #000",
cursorborderradius: "3px",
scrollspeed: 90,
autohidemode: true,
background: '#ddd',
hidecursordelay: 400,
cursorfixedheight: false,
cursorminheight: 20,
enablekeyboard: true,
horizrailenabled: false,
bouncescroll: true,
smoothscroll: true,
iframeautoresize: true,
emulatetouch: false,
hwacceleration: true
});
}
);})(jQuery);
nicescroll和touch有冲突怎么用?
jQuery('.morph-main-menu-button-wrapper, .morph-main-menu-activator').on('touchstart touches touchend click', function(e) {
'use strict';
e.preventDefault();
if(jQuery('.morph-main-wrapper').hasClass('morph-main-wrapper-active'))
{
/* hide morph slide */
jQuery('.morph-main-wrapper').removeClass('morph-main-wrapper-active');
/* hide morph background */
jQuery('.morph-main-background').removeClass('morph-main-background-active');
/* hide background overlay */
jQuery('.morph-background-overlay').removeClass('morph-background-overlay-active');
/* hide expanded menu button */
jQuery('.morph-main-menu-button-wrapper').removeClass('morph-menu-active');
/* when menu de-activated, animate main menu items */
jQuery('.morph-menu-wrapper').removeClass('morph-menu-wrapper-active');
/* hide search field close button */
jQuery('.morph-search-close-wrapper').removeClass('morph-search-close-wrapper-active');
/* hide search field */
jQuery('.morph-search-wrapper').removeClass('morph-search-wrapper-active');
jQuery('.morph-search-wrapper #searchform #s').blur();
/* show search button */
jQuery('.morph-search-button').removeClass('morph-search-button-hidden');
/* hide secondary menu */
jQuery('.morph-secondary-menu-wrapper').removeClass('morph-secondary-menu-wrapper-active');
/* secondary menu button inactive state */
jQuery('.morph-secondary-menu-button').removeClass('morph-secondary-menu-button-active');
} else {
/* show morph slide */
jQuery('.morph-main-wrapper').addClass('morph-main-wrapper-active');
/* show morph background */
jQuery('.morph-main-background').addClass('morph-main-background-active');
/* show background overlay */
jQuery('.morph-background-overlay').addClass('morph-background-overlay-active');
/* hide expanded menu button */
jQuery('.morph-main-menu-button-wrapper').addClass('morph-menu-active');
/* when menu activated, animate main menu items */
jQuery('.morph-menu-wrapper').addClass('morph-menu-wrapper-active');
}
});
由于未应用样式存在问题,这让我相信您的 CSS 中有某些内容未在 IE 中呈现。您的 javascript 本身看起来不错,应该会触发所有事件。尝试添加触摸以更加安全。
也可以用$来引用jquery,使得
jQuery('.morph-menu-wrapper').removeClass('morph-menu-wrapper-active');
成为
$('.morph-menu-wrapper').removeClass('morph-menu-wrapper-active');
版本 3.7.3 修复触摸问题!