【问题标题】:how to get class/id from ui & event如何从 ui & event 中获取 class/id
【发布时间】:2011-09-07 08:05:16
【问题描述】:

如何从任何函数的ui & event 获取任何元素的 id 和类名。请参阅下文以获得清晰的理解。

<div class"drag-class" id="drag1"> </div>
 <div class"drag-class" id="drag2"> </div>
      <div class"drop-class" id="drop1"> </div>
      <div class"drop-class" id="drop2"> </div> 

JS:

   $(function(){
     $('.drag-class').draggable();

     $('.drop-class').droppable(function(){

              accept: '.drag-class'.
              drop: function(ui,event){
                /*here i want to know the id of drag-class & drop-class element element*/
                     }              
             });

       });'

【问题讨论】:

  • 你试过调试吗?我最好的选择是 this 指向您正在拖动的元素。尝试设置断点并查看本地变量。
  • 在这里您可以找到答案:stackoverflow.com/questions/197489/…
  • @TJHeuve: 是的,this 指向放置元素,但我也想在同一个函数()中找到拖动元素。

标签: javascript jquery


【解决方案1】:

来自docs -

在回调中,$(this) 表示可拖放的可拖放对象 掉下来。 ui.draggable 代表可拖动对象。

【讨论】:

  • 感谢 ipr101,this 表示可拖放 ID 和 ui.draggable 表示可拖动 ID,那么我如何从 ui.draggable 获取 ID。例如我尝试了ui.draggable.Id$(ui.draggable).id 等。但没有任何结果。你有什么主意吗。甚至ui.draggablereturns [object Object]
  • 文档将 ui.draggable 定义为“ui.draggable - 当前可拖动元素,一个 jQuery 对象”,因此您可以尝试ui.draggable.attr("id")
【解决方案2】:

this.idthis.className 应该包含您要查找的内容。

【讨论】:

  • 既然他在使用jQuery,为什么不使用$(this).attr('id') 和$(this).attr('class')?
  • 取决于他是否需要$(this) 来做其他事情。否则你为什么要包装this?在这种情况下,他无需包装即可访问相同的东西,因此无需这样做。
  • @Py :我知道this 可以解决这个问题,但它只显示一个元素id/类,而我想同时获得可拖动和可放置的id。
  • 这给出了可放置对象,正如 Samich 指出的问题中所述,获取可拖动对象是 ui.draggable。
猜你喜欢
  • 2020-08-28
  • 1970-01-01
  • 1970-01-01
  • 2017-09-25
  • 2021-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多