我在一個項目上工作,僅限於通過內聯處理程序(如onclick
和onchange
)處理JavaScript事件。但是,我需要我的處理程序是跨瀏覽器的。我習慣於使用jQuery,但由於我不能使用$('#id').click(function() { ... })
我在訪問jQuery風格的事件時遇到了一些困難。在內聯JavaScript處理程序中使用jQuery事件
例如,我想這樣做:
<table>
<tr onclick="if (event.target.tagName.toLowerCase() !== 'td') return false; ...">
<td>...</td>
<td>...</td>
<td><a>...</a></td>
<td><a>...</a></td>
</tr>
</table>
基本上,這個代碼應該只處理的細胞在表中沒有任何錨子元素的點擊次數。
這適用於Firefox和Chrome以及幾乎所有使用W3C事件的瀏覽器。不幸的是,在IE中,它不起作用。
我希望做的是一樣的東西:
if ($.Event(event).target.tagName.toLowerCase() !== 'td') return false; ...
對於onclick
處理程序,但現在看來,當你在jQuery的這種方式包裝的事件,它不提供target
場。
我在做什麼錯?
爲什麼絕對有必要做這個內聯?你不能把script標籤放在html的某個地方嗎? – treeface 2010-09-17 16:27:21