我正在使用js / jquery来创建可拖动的图形。 Graph有两个可拖动的元素,可以在后面的图形上选择值。我现在的问题是,下一步是能够在一个页面上最多乘以六个图,这是我做的,现在当动态创建图形时,只有参考元素的方式是{{1如何在同一个函数中添加两个元素?
修改
$(this)
如果我使用:
function drag_function(event, ui) {
var $selFirst = $(".second :nth-child(1)"),
$selSecond = $(".second :nth-child(2)"),
cachedWidth = $selFirst.outerWidth();
var $firstRightBorder = $selFirst.position().left + 1,
$secondLeft = $selSecond.position().left,
diff = $firstRightBorder - $secondLeft;
}
也不起作用?
解答:
function drag_function(event, ui) {
var $selFirst = $(this),
$selSecond = $(this),
cachedWidth = $selFirst.outerWidth();
var $firstRightBorder = $selFirst.position().left + 1,
$secondLeft = $selSecond.position().left,
diff = $firstRightBorder - $secondLeft;
}
答案 0 :(得分:1)
目前尚不清楚自己想要达到的目标。我猜是这个。请在下面给出的示例中拖放div。
http://jsfiddle.net/diode/8wxCb/1/
在事件处理函数中,this
和event.currentTarget
将引用发生事件的对象。
例如:
button1.onclick = function(event){
console.log(this); // button1
console.log(event.currentTarget); // button1
}
因此,如果您向许多人添加与侦听器相同的功能,则可以在该功能中检查
if(this == button1){
}else if(this == button2){
}
或
if(this.id == "button1"){
}else if(this.id == "button2"){
}
当你在函数中获得对象时,你可以直接读/写它的属性