2013-11-15 35 views
1

我用我的網頁上的一個這個插件的字符串:http://addthisevent.com/我想添加跟蹤它,讓我知道是誰通過AJAX調用添加的事件。他們有一個回調函數,但在他們的安裝,並幫助它表明,它是像這樣的字符串:回調功能可按與參數

`callback: ['calTrack()']` 

,但我想要訪問的點擊元素的ID或類,所以我可以傳遞到用於追蹤的服務器。

做一些這種簡單的工作

function calTrack(){ 
    alert("hello"); 
} 

但是,當我嘗試做這樣的事情:

function calTrack(){ 
    alert($(this).attr('id')); 
} 

我得到了一個未定義。我也追平做這樣的: callback: ['calTrack(this)']

function calTrack(e){ 
    alert($(e).attr('id')); 
} 

也得到了一個未定義。有人能幫我理解這是如何工作的嗎?如何將一個參數傳遞給字符串回調函數,或者在函數被調用後能夠進入THIS?我錯過了什麼?謝謝。

+1

是什麼'的console.log(參數)'給你?和'console.log(this)'? –

+0

是否缺少單引號錯字或者是否在沒有它的情況下運行腳本? –

+0

你絕對使用這個不正確。 – James

回答

0
function calTrack(){ 
    alert($(this).attr('id)); 
} 

什麼是$(this)在你的函數中?

嘗試

function calTrack(elem){ 
    alert($(elem).attr('id')); 
} 
+0

他已經試過 – Brewal

+0

謝謝,不幸的是,這也回到了未定義。我如何將elem傳遞給被調用的函數? – pixelwiz

+0

你爲什麼需要它? –