請問為什么改成這樣不行?
<h4>測試二</h4>
? ? <div class="test2">
? ? ? ? <p>$('button:first').click(function(e) {alert(this)})</p>
? ? </div>
? ? <button>指定觸發事件</button>
? ? <script type="text/javascript">
? ? ? ? $('p').click(function(e) {
? ? ? ? ? ? alert(e.target.textContent)
? ? ? ? })
? ? ? ? //this指向button元素
? ? ? ? $("button:eq(1)").click(function() {
? ? ? ? ? ? $('p').click() //指定觸發綁定的事件
? ? ? ? })
? ? </script>
將
$("button:eq(1)").click(function() {
? ? ? ? ? ? $('p').click() //指定觸發綁定的事件
改成
$('button:eq(1)'.click(function(e)){
????????alert(e.target.textContent)
})
得到的結果卻是”指定觸發事件“,為什么不是”$('button:first').click(function(e) {alert(this)})“?
2017-03-02
e.target表示的是當前事件的觸發DOM對象,你點的是button,所以e.target.textContent就是按鈕上的內容。
$('p').click()是觸發p標簽的點擊事件,
$('p').click(function(e) {
? ? ? ? ? ? alert(e.target.textContent)
? ? ? ? })這是p標簽的點擊事件的處理方式,alert(e.target.textContent)所以這里輸出的是p標簽的內容