2012-07-17 54 views
0

有jQuery的相當於這個:jQuery的「新功能」等效

document.getElementById(cbxFieldID).onclick = new Function("hideUnhideRows('" + cbxFieldID + "','" + txtFieldID + "')"); 

基本上,我想爲元素配置一個點擊事件並在運行時通過兩個參數的函數。
問題是無論點擊哪個對象,都會傳遞相同的變量值。這裏是我使用的是什麼:提前

$(cbxFieldID).change(function() { 
    var $cbxField = $("#" + cbxFieldID); 
    var $txtField = $("#" + txtFieldID); 
    hideUnhideRows($cbxField,$txtField); 
}); 

感謝,

回答

0

傳遞給回調函數的參數是事件對象,包含有關該事件或目標的任意信息。您可以通過evt.target像這樣訪問目標:

$("#" + cbxFieldID).change(function (evt) { 
    alert(evt.target); 
}); 
0
$('#cbxFieldID').click(function() { 
    var $cbxField = $("#" + cbxFieldID); 
    var $txtField = $("#" + txtFieldID); 
    hideUnhideRows($cbxField,$txtField); 
}); 

這應該做的伎倆,除非我錯過了一些東西。在jQuery中點擊是一個你可以綁定到任何元素的函數。在這裏,我們正在做到這一點ID:$('#cbxFieldID')

+0

最初嘗試過。問題是值不會在運行時傳遞。我正在循環列表並設置一個動態函數以在運行時執行。基本上排隊函數調用。每次調用該函數時,都會傳遞完全相同的值(最後一個被處理)。 很確定我沒有正確解釋。非常感謝。 – Clem 2012-08-01 20:47:11