我認爲它非常基本的面向對象的javaScript相關問題。但我仍然很困惑。我想從1個函數傳遞$(this)對象到另一個函數。這樣我可以獲得點擊鏈接的鏈接。
這裏我的示例代碼
HTML
<a href="#testblah" class="test" rel="image">TEST</a>
<a href="#blahtest" class="test" rel="video">TEST</a>
JS
$(document).on("click", ".test", function() {
var $this = $(this);
var rel = $this.attr("rel");
if (rel == "image") {
e.preventDefault();
openImage($this);
} else if (rel == "video") {
openVideo($this);
}
});
function openImage($this) {
var href = $this.attr("href");
alert(href);
}
如果您讓您的事件處理程序接受'e'參數,那麼您的代碼工作正常:http://jsfiddle.net/6zAN7/19/ – 2013-03-25 17:00:28
是的,您絕對正確@AndrewWhitaker! *無賴*我犯了一個愚蠢的錯誤! 只是要求意見是上述代碼的最佳做法?我的意思是我定義了一個名爲$ this的變量,然後使用相同的名稱在其他函數中調用該對象?我應該使用不同的名字嗎?或者根本不重要! 謝謝.. – 2013-03-25 17:10:14
我會把這個變量命名爲更有意義的東西,比如'link'或'anchor'。 '$ this'不是很具描述性。從技術上講,這並不重要。 – 2013-03-25 17:11:14