代码之家  ›  专栏  ›  技术社区  ›  resopollution

关于在jquery ui/draggables函数中使用特殊变量的问题

  •  1
  • resopollution  · 技术社区  · 15 年前

    我总是在文档中看到这个。

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

    在jquery文档中,“event”和“ui”代表什么,如何使用它们?

    是否有任何方法可以将特定的.selector对象本身传递到函数中?

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

    谢谢你的帮助!

    1 回复  |  直到 15 年前
        1
  •  4
  •   Paolo Bergantino    15 年前

    当涉及到jquery时,您需要欣然接受在文档中查找内容,因为在大多数情况下,它是非常完整的,并且会提供您所需要的任何东西。

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

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

    • ui.helper-表示正在拖动的助手的jquery对象
    • ui.position-辅助对象相对于偏移元素的当前位置,如顶部、左侧对象。
    • ui.offset-辅助对象相对于页面的当前绝对位置,如顶部、左侧对象

    就事件对象而言, 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;
    });