js中如何通过单击事件获取当前对象,并传递 javascript中this获取当前对象问题
JQuery\u901a\u8fc7\u7c7b\u9009\u62e9\u5668\u6355\u83b7click\u4e8b\u4ef6\u83b7\u53d6\u5f53\u524d\u70b9\u51fb\u5bf9\u8c61\u7684idJQuery\u901a\u8fc7\u7c7b\u9009\u62e9\u5668\u6355\u83b7click\u4e8b\u4ef6\u83b7\u53d6\u5f53\u524d\u70b9\u51fb\u5bf9\u8c61\u7684id\u7684\u5b9e\u4f8b\u4ee3\u7801\uff1a
$(function () {
$(".test").click(function () {
var val=$(this).attr("id");
alert(val);
})
})
User
\u6269\u5c55\u8d44\u6599\uff1a
JQuery\u901a\u8fc7ID\u9009\u62e9\u5668\u6355\u83b7click\u4e8b\u4ef6\u83b7\u53d6\u5f53\u524d\u70b9\u51fb\u5bf9\u8c61\u7684id\u7684\u5b9e\u4f8b\u4ee3\u7801\uff1a
$("#student").click(function () {
var val=$(this).attr("name");
alert(val);
})
Student
JQuery\u901a\u8fc7\u5143\u7d20\u9009\u62e9\u5668\u6355\u83b7click\u4e8b\u4ef6\u83b7\u53d6\u5f53\u524d\u70b9\u51fb\u5bf9\u8c61\u7684id\u7684\u5b9e\u4f8b\u4ee3\u7801\uff1a
$("input").click(function () {
var val=$(this).val();
alert(val)
})
\u9996\u5148\uff0cthis\u6307\u7684\u662f\u5bf9\u51fd\u6570\u672c\u8eab\u7684\u5f15\u7528\u3002conclick\u4e8b\u4ef6\u8c03\u7528\u7684\u662f\u8fd9\u4e2a\u4e8b\u4ef6\uff0c\u8981\u83b7\u53d6\u7684img\u7684src\u5c5e\u6027\uff0c\u662fdom image\u7684\u5c5e\u6027\uff0c\u5e76\u4e0d\u662f\u51fd\u6570change_pic\u7684,\u6240\u4ee5\u5f53\u7136\u4e0d\u7ba1\u7528\u4e86\uff0c\u6700\u597d\u7ed9\u51fd\u6570\u4f20\u53c2\uff0c\u5982onclick="change_pic(this)"\u5427img\u8fd9\u4e2a\u5bf9\u8c61\u4f20\u7ed9\u51fd\u6570\u3002\u51fd\u6570\u4e2d\u901a\u8fc7 \u53c2\u6570.src\u5f15\u7528\u5c31OK\u4e86\u3002\u5e0c\u671b\u5bf9\u4f60\u6709\u6240\u5e2e\u52a9\uff01
在给标签绑定事件时在回调事件里有一个event参数,可以通过event.target获取当前对象,在处理函数里把当前对象当做参数传递过去。如:
//绑定事件
$('.list').click(function(event){
var ele=event.target;
deal(ele);
});
//处理函数
function deal(obj){
}
只是举一个例子,如果有错误,请指出。
绛旓細鍦ㄧ粰鏍囩缁戝畾浜嬩欢鏃跺湪鍥炶皟浜嬩欢閲屾湁涓涓猠vent鍙傛暟锛鍙互閫氳繃event.target鑾峰彇褰撳墠瀵硅薄锛屽湪澶勭悊鍑芥暟閲屾妸褰撳墠瀵硅薄褰撳仛鍙傛暟浼犻掕繃鍘銆傚锛//缁戝畾浜嬩欢$('.list').click(function(event){ var ele=event.target; deal(ele);});//澶勭悊鍑芥暟function deal(obj){ }鍙槸涓句竴涓緥瀛愶紝濡傛灉鏈夐敊璇紝璇锋寚鍑恒
绛旓細绛旀灏唄tml浠g爜鏀逛负 鍏朵腑鍔犵矖鐨則his鏄浉瀵逛綘鐨勪唬鐮佸鍔犵殑閮ㄥ垎銆傜劧鍚庡湪浣犻〉闈㈢殑js涓鍐欎竴涓嚱鏁板涓嬶細function test(element){ alert(element.id)} 婕旂ず鎴戜负姝ら棶棰樺啓浜嗕竴涓祴璇曢〉闈紝鍙互鐐瑰嚮鏌ョ湅鍦ㄧ嚎娴嬭瘯浠g爜銆傝繖鏄紨绀洪〉闈㈢殑缁撴瀯锛氱幇鍦ㄧ偣鍑讳繚瀛樻寜閽 寮瑰嚭鐨勬彁绀哄氨鏄寜閽殑ID ...
绛旓細涓銆侀鍏堬紝鍦ㄧ紪杈戝櫒涓垱寤轰竴涓獁eb椤圭洰锛屽苟鍦ㄧ洰褰曚腑鍒涘缓涓涓柊鐨勯潤鎬侀〉闈uttonclick.html锛氫簩銆佺劧鍚庡湪title鏍囩涓粙缁嶅噯澶囧ソ鐨剉ue.js搴撴枃浠躲傚湪杩欓噷锛屽皢JS鏂囦欢鏀惧湪JS鐩綍涓紝鐒跺悗鍦╞ody鏍囪涓彃鍏ヤ竴涓猟iv鍜屽洓涓寜閽紝灏哻lick浜嬩欢涓嶸ue涓殑v-on鏍囪缁戝畾锛氫笁銆佹帴涓嬫潵锛屾彃鍏ヨ剼鏈爣璁帮紝鍦ㄦ爣璁颁腑鍐欏叆浜嬩欢鍑芥暟...
绛旓細//this鎸囧悜浜褰撳墠鐐瑰嚮鐨琛岋紝閫氳繃find鎴戜滑鑾峰緱浜嗚琛屾墍鏈夌殑td瀵硅薄 //棰樹腑璇村埌鏌愪釜td锛屼负浜嗘紨绀烘墍浠ユ垜浠亣璁炬槸瑕佽幏寰楃3涓猼d鐨勬暟鎹 var data = td.eq( 2 ).html();//閫氳繃eq鍙互寰楀埌鍏蜂綋鐨勬煇涓猼d瀵硅薄锛屼粠鑰屽緱鍒扮浉搴旂殑鏁版嵁 } );缁间笂锛屾垜浠氨瀹炵幇浜閫氳繃鐐瑰嚮鏌愯鑾峰緱鏌愪釜td鐨勬暟鎹
绛旓細鎬濊矾锛氫负li瀵硅薄娣诲姞鍗曞嚮浜嬩欢鈫掍簨浠惰Е鍙戝悗鍒╃敤innerHTML鑾峰彇li鐨勬枃鏈傚疄渚嬫紨绀哄涓嬶細1銆丠TML缁撴瀯 GlenTaneJohnRalph2銆乯avascript浠g爜 window.onload = function(){var obj_lis = document.getElementById("test").getElementsByTagName("li");for(i=0;i<obj_lis.length;i++){obj_lis[i].onclick...
绛旓細var tmp = "";function test(){if(tmp == ""){tmp = window.open("浣犻渶瑕佹墦寮鐨勭綉鍧");}else{tmp.close();tmp = "";}}杩欐牱灏辫兘鎸夐挳鐐逛竴涓嬫墦寮,鍐嶇偣涓涓嬪叧闂
绛旓細鏈変釜鏂规硶鏉ュ疄鐜 xxx 鍦╢unction openTest涓敤window.event瀵硅薄鐩戝惉涓涓嬮紶鏍浜嬩欢锛屽鏋鍗曞嚮灏辨墦寮椤甸潰锛屽鏋滃弻鍑诲氨浠涔堥兘涓嶅仛
绛旓細document.onclick=function(e){ var e=e||window.event; var tg=e.target||e.srcElement; alert("浣鐐瑰嚮鐨鏍囩鍚嶇О涓猴細"+tg.tagName);}
绛旓細 鐢变簬琛ㄥ崟鐨剆ubmit鎸夐挳鐐瑰嚮锛屼細鑷姩鐨勬彁浜ゅ埌action鐩爣浣嶇疆銆
绛旓細浣犲彲浠ヨ嚜宸辩粦瀹氳浜嬩欢锛屽綋鍗曞嚮琛屾椂锛屽皢妗嗙殑鐘舵佹敼涓洪変腑鍗冲彲銆