2011-09-22 73 views
1

我通常設置我的JavaScript代碼有一個功能。但由於應用程序從VB6應用程序生成大部分HTML和JavaScript調用,因此我想創建一個更像是偵聽器的jQuery函數。因此,例如,如果我有一個td標籤,其類'gridheader1',我希望jQuery等待它被點擊。jquery,只是等待

我假設我會使用綁定...但是我得到了javascript錯誤...如果你能提供關於我的代碼錯誤的地方的建議,那將是很棒的。

$('.gridheader1').bind('click', function() 
{ 
    alert('hi I got clicked'); 
}); 

再次,這隻需要坐在那裏的主要.js文件。它不附加任何功能。請告訴我。

感謝

+1

選擇是錯誤的,應該是.gridheader1 – simoncereska

+0

什麼錯誤,你好嗎?你什麼時候得到它們? –

+1

你剛纔描述的事件處理程序,好像它們是一些完全模糊的東西,很少在Web應用程序中使用......':P' –

回答

2
// static tags 
$(function(){ // DOM ready 
    $('.gridheader1').click(function() 
    { 
    alert('gridheader1 clicked'); 
    }); 
}); 


// or if the tag is loaded via ajax use 'live'... 
$(function(){ // DOM Ready 
    $('.gridheader1').live('click', function() 
    { 
    alert('gridheader1 clicked'); 
    }); 
}); 


// or if you already have a function defined that you want to call, you can pass in the function instead of using an anonymous function. 

function alertAboutStuff(){ 
    alert('gridheader1 clicked'); 
} 

$(function(){ 
    $('.gridheader1').click(alertAboutStuff); 
    // $('.gridheader1').live('click', alertAboutStuff); // for tags loaded via ajax 
}); 
+0

如果'.gridheader1'在頁面上不存在會發生什麼? – webdad3

+1

使用實時方法:http://api.jquery.com/live/任何時候添加一個.gridheader1元素將事件處理程序附加到標記 – ActionOwl

+0

工作正常!謝謝! – webdad3

4

你想

$('.gridheader1').bind('click', function(){ 
    alert('hi I got clicked'); 
}); 

注意點在選擇的開始 - 這意味着類

+0

我在我的問題中有一個錯字。對不起,我更新了它。 – webdad3

+0

@JeffV:那很糟糕。我的代碼沒有錯 – genesis