2016-08-02 89 views
1

我試圖讓一個腳本運行,將一些事件添加到類中。 我只想將這些事件添加到此類中的一個特定DIV中。我使用pep.js:

$(".drag").pep({ 
start: function() { 
     $(".drag").addClass('color'); 
     $('.drag').next(".text").fadeIn("slow"); 
     $(".text-video").fadeOut("fast"); 

    }, 
stop: function() { 
     $('.drag').removeClass('color'); 
     $('.drag').next(".text").fadeOut("slow"); 
    } 

    }); 

這工作,但它在一次觸發所有.drag項目......我只想要一個我拖動到添加了所有的事件。

我試圖把它與寫:

$(".drag", this).addClass('color'); 

或:

$(this).addClass('color'); 

或:

$(this.element).addClass('color'); 

但是這一切都沒有奏效。 有人有想法嗎?

UPDATE:

我做了一個的jsfiddle有希望解釋我的問題。

https://jsfiddle.net/ke6d5r1h/

正如你看到的,例如。顏色類不僅添加到被拖動的DIV,同時也給其他。這是我想改變的。

+0

'console.log(this)'顯示了什麼? –

+0

你可以分享可執行的演示/片段或[JSFiddle](https://jsfiddle.net/)嗎? [_創建最小,完整和可驗證的示例_](http://stackoverflow.com/help/mcve) – Rayon

+0

它以什麼方式不起作用?它會給你一個特定的錯誤信息嗎?請閱讀這篇文章如何在這個網站上提出問題:http://stackoverflow.com/help/how-to-ask –

回答

1

在事件處理程序中使用console.log(arguments),我可以確定處理程序傳遞了兩個參數:事件對象和包含上下文的對象。上下文有一個屬性$el,它是事件目標的jQuery對象。

start: function(e,a) { 
    a.$el.addClass('color'); 
    a.$el.next(".text").fadeIn("slow"); 
    $(".text-video").fadeOut("fast"); 
}, 

https://jsfiddle.net/85tffqhL/

e.target也會給你的元素的引用。

+0

這個工作完美!非常感謝!好的,對我來說是新的,我是JQuery的新手......感謝您的幫助! – Cyrill

相關問題