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

时间:2009-06-09 20:09:37

标签: javascript jquery jquery-ui

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

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

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

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

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

我感谢任何帮助!

1 个答案:

答案 0 :(得分:4)

当涉及到jQuery时,你需要在文档中查找内容,因为大部分内容都非常完整,并且可以为您提供所需的任何内容。

考虑到这一点,这是documentation:关于Draggables:

  

所有回调(start,stop,resize)都会收到两个参数:原始浏览器事件和准备好的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;
});