gpt4 book ai didi

jquery - "Chaining"到可拖动调用以启用触摸功能

转载 作者:行者123 更新时间:2023-12-01 05:05:28 27 4
gpt4 key购买 nike

我对 jquery ui 很陌生,但由于我的项目的性质,我有点陷入了困境!基本上我需要帮助的是,我有一个文件,该文件将某些自定义设置应用于 jquery ui 可拖动小部件,并且我想进一步自定义以启用触摸功能,以便该小部件在移动触摸屏设备上运行。也就是说,我的代码看起来像这样:

/*
* jQuery UI Draggable
*
* Depends:
* jquery.ui.core.js
* jquery.ui.mouse.js
* jquery.ui.widget.js
*/

(function( $, undefined ) {

$.widget("ui.draggable", $.ui.mouse, {
widgetEventPrefix: "drag",
options: {
addClasses: true,
appendTo: "parent",
axis: false,
connectToSortable: false,
containment: false,
cursor: "auto",
cursorAt: false,
grid: false,
handle: false,
helper: "original",
iframeFix: false,
opacity: false,
refreshPositions: false,
revert: false,
revertDuration: 500,
scope: "default",
scroll: true,
scrollSensitivity: 20,
scrollSpeed: 20,
snap: false,
snapMode: "both",
snapTolerance: 20,
stack: false,
zIndex: false
},
_create: function() {

if (this.options.helper == 'original' && !(/^(?:r|a|f)/).test(this.element.css("position")))
this.element[0].style.position = 'relative';

(this.options.addClasses && this.element.addClass("ui-draggable"));
(this.options.disabled && this.element.addClass("ui-draggable-disabled"));

this._mouseInit();

},

destroy: function() {
if(!this.element.data('draggable')) return;
this.element
.removeData("draggable")
.unbind(".draggable")
.removeClass("ui-draggable"
+ " ui-draggable-dragging"
+ " ui-draggable-disabled");
this._mouseDestroy();

return this;
},

...等等。

我看过这篇文章:How can I make a jQuery UI 'draggable()' div draggable for touchscreen? ,它看起来像是我想要做的事情的理想解决方案,但我不确定“将其链接到我的 jQuery UI Draggable() 调用”是什么意思。我的代码中的哪个位置应该阻止:

.touch({
animate: false,
sticky: false,
dragx: true,
dragy: true,
rotate: false,
resort: true,
scale: false
});

去吗?这可能是一个愚蠢的问题,抱歉。我是初学者! :)谢谢!!

最佳答案

嗯,链接是这样工作的,假设您有以下代码:

$('#someDiv').show();
$('#someDiv').addClass('someClass');
$('#someDiv').removeClass('someOtherClass');

相反,您可以像这样链接这些调用:

$('#someDiv').show().addClass('someClass').removeClass('someOtherClass');

这是有效的,因为 jQuery 函数随后返回元素,因此您可以“链接”同一元素或结果元素上的函数调用。

就您而言,我相信它应该在 $.widget 调用结束后链接:

$.widget(...).touch({
animate: false,
sticky: false,
dragx: true,
dragy: true,
rotate: false,
resort: true,
scale: false
});

或者其他方式可以完成:

$('#yourElement').draggable(...).touch(...);

关于jquery - "Chaining"到可拖动调用以启用触摸功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6357713/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com