看板 Ajax 關於我們 聯絡資訊
不明白怎麼說不行用tagName去判斷 我測試IE FF可以work 還是我誤會你要的東西? <table> <tr id="row"> <td><input type="checkbox" id="chk"></td> <td>OOO:</td> <td><input type="text"></td> <td>XXX:</td> <td><input type="text"></td> </tr> </table> <script> var element = document.getElementById('row'); if (element.addEventListener) element.addEventListener("click", check, false); else element.attachEvent("onclick", check); function check(e) { var element = e.target || window.event.srcElement; if(element.tagName == "INPUT") return; var chk = document.getElementById('chk'); chk.checked = !chk.checked; } </script> ※ 引述《kerash (烽火連天依山盡)》之銘言: : [[[ 參考資料 : http://www.aichengxu.com/article/Javascript/627_7.html ]]] : 我想做一個 onclick 的功能 : 是在 tr 上,會如下 : <table> : <tr onclick="do_event(xxx)"> : <td><input type="checkbox" name="chkcal" /></td> : <td><input type="text" name="inpcal[]" /></td> : <td><input type="text" name="inpcal[]" /></td> : .. : </tr> : </table> : 但是遇到一個狀況就是當我在 tr 點選時,正常的執行 js : 然而在 input 上 click 卻也會跟著執行 do_event 的動作 : 我的 do_event 是要用在處理 checkbox 的 checked 動作 : 所以這樣的話會變成我在 checkbox 點選就會自動取消QQ : 有甚麼方法能夠在空白地方點擊才會觸發 do_event 事件嗎? : 感恩QQ.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.96.83.220
kerash:不是誤會,是我沒想到 e.target 這個方法 02/22 16:54
kerash:我是直接在 tr 上加 onclick,所以變成先取得 tr 的緣故 02/22 16:54
kerash:另外我的 table 是用 for跑出來的,所以可能不是用id設定 02/22 16:55
kerash:不過這個可以解,總之先謝謝了 02/22 16:55
kerash:剛剛測試後,我用ie9 他說沒 addachEvent 事件 02/22 17:04
kerash:也沒跑addEventListener, but chrome 成功 02/22 17:04