3 回答

TA貢獻1777條經驗 獲得超10個贊
概述
1、#Grid1Table不是#conut的父節點,p標簽是#logout的父節點
2、代碼寫法:
$('p').on('click', '#count', function() {
//function code here.
});
解析
1、p包裹a標簽(id = logout),所以logout的父節點(父標簽)為p(沒有標注id或者class)
<p><a href='#' id='logout'>【退出】</a></p>
2、$("#logout").on('click',function() 方法要求參數為非隨動變量(全局變量),所以#logout為不可行參數,且由于代碼沒有貼全所以這里我先斷定#Grid1Table為非父節點,而p為#logout父節點,所以這里可以改成:
$('p').on('click', '#count', function() {
//function code here.
});
拓展內容
juqery on()方法詳解
定義和用法
on() 方法在被選元素及子元素上添加一個或多個事件處理程序。
自 jQuery 版本 1.7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。該方法給 API 帶來很多便利,我們推薦使用該方法,它簡化了 jQuery 代碼庫。
注意:使用 on() 方法添加的事件處理程序適用于當前及未來的元素(比如由腳本創建的新元素)。
提示:如需移除事件處理程序,請使用 off() 方法。
提示:如需添加只運行一次的事件然后移除,請使用 one() 方法。
語法
$(selector).on(event,childSelector,data,function)
參數
event 必需。規定要從被選元素移除的一個或多個事件或命名空間。由空格分隔多個事件值,也可以是數組。必須是有效的事件。
childSelector 可選。規定只能添加到指定的子元素上的事件處理程序(且不是選擇器本身,比如已廢棄的 delegate() 方法)。
data 可選。規定傳遞到函數的額外數據。
function 可選。規定當事件發生時運行的函數。

TA貢獻1719條經驗 獲得超6個贊
$("#logout").on('click',function(){});
也是可以的。不過有個限制,你的這個$("#logout"),不能是后期動態添加的節點。
如果像表格里動態添加的行,要使用事件,就要用下面你說的方法。
$('#Grid1Table').on('click', '#count', function() {
//function code here.
});
#logout有父節點嘛?當然有。
<p><a href='#' id='logout'>【退出】</a></p>
p就是父節點。
$('p').on('click', '#count', function() {
//function code here.
});

TA貢獻1806條經驗 獲得超8個贊
on的用法:
.on( events [, selector ] [, data ], handler(eventObject) )
描述: 在選定的元素上綁定一個或多個事件處理函數。
events
類型: String
一個或多個空格分隔的事件類型和可選的命名空間,或僅僅是命名空間,比如"click", "keydown.myPlugin", 或者 ".myPlugin"。
selector
類型: String
一個選擇器字符串,用于過濾出被選中的元素中能觸發事件的后代元素。如果選擇器是 null 或者忽略了該選擇器,那么被選中的元素總是能觸發事件。
data
類型: Anything
當一個事件被觸發時,要傳遞給事件處理函數的event.data。
handler(eventObject)
類型: Function()
事件被觸發時,執行的函數。若該函數只是要執行return false的話,那么該參數位置可以直接簡寫成 false。
.on()方法事件處理程序到當前選定的jQuery對象中的元素。在jQuery 1.7中,.on()方法 提供綁定事件處理的所有功能。要刪除的.on()綁定的事件,使用.off()。要綁定一個事件,并且只運行一次,然后刪除自己, 使用.one()
添加回答
舉報