【问题标题】:Question about using special variables in functions for jquery UI/Draggables关于在 jquery UI/Draggables 的函数中使用特殊变量的问题
【发布时间】:2009-06-09 20:09:36
【问题描述】:

我总是在文档中看到这一点。

$('.selector').draggable({
   start: function(event, ui) { ... }
});

在 jQuery 文档中,“event”和“ui”分别代表什么以及如何使用它们?

有没有办法将特定的 .selector 对象本身传递给函数?

如果没有任何示例,我想我不太明白整个事情是如何运作的。

感谢您的帮助!

【问题讨论】:

    标签: javascript jquery jquery-ui


    【解决方案1】:

    说到 jQuery,您需要在文档中查找内容,因为大多数情况下它非常完整,可以满足您的任何需求。

    考虑到这一点,这是 Draggables 上的 documentation::

    所有回调(开始、停止、调整大小)都接收两个参数:原始浏览器事件和准备好的 ui 对象。 ui 对象有以下字段:

    • ui.helper - 代表被拖动的助手的 jQuery 对象
    • ui.position - 作为 { top, left } 对象的助手的当前位置,相对于偏移元素
    • ui.offset - 帮助器的当前绝对位置为 { top, left } 对象,相对于页面

    就事件对象而言,here's the documentation for that

    事件对象最常见的用法是阻止默认动作。所以如果你有一个链接:

    <a href="more.html" id="show_more">Show me more!</a>
    

    并且您希望在用户点击它并启用 Javascript 时发生某些事情,您可以这样做:

    $('#show_more').click(function(e) {
        alert('heya!');
    });
    

    这里的问题是,在警报显示并关闭它之后,链接的默认操作(“转到另一个页面”)将会发生,并且用户将被发送到more.html。很多时候这不是您想要的,因此您可以阻止默认操作:

    $('#show_more').click(function(e) {
        alert('heya!');
        e.preventDefault(); // cancel link event, could also return false;
    });
    

    【讨论】:

    • 非常感谢,我没有意识到有一个活动文档页面。我刚刚意识到 event.currentTarget 正是我所需要的!
    猜你喜欢
    • 2011-02-03
    • 1970-01-01
    • 1970-01-01
    • 2015-04-21
    • 2021-05-30
    • 1970-01-01
    • 2013-02-20
    • 2011-05-11
    • 1970-01-01
    相关资源
    最近更新 更多