在以下示例中,我只獲得一個警告框。我讀到焦點放在JavaScript代碼執行之前。有沒有辦法讓這個工作?在輸入標籤上使用自動聚焦屬性時,不會調用onfocus
<input id="i" type="text" autofocus onfocus="alert(1)">
<script type="text/javascript">
document.getElementById('i').addEventListener('focus', function() {
alert(2);
}, false);
</script>
(我只在Safari中測試了這個)
編輯: 我能明顯地做這種方式(Prototypejs選擇):
var autofocusElement = $$('input[autofocus]')[0];
callListener(autofocusElement);
但相比只會增加它看起來醜陋一個事件監聽器。
編輯:
不要擔心在缺乏自動對焦屬性瀏覽器的支持。它很容易解決,正如我在下面的鏈接中所做的那樣。正如我所見,這也是最好的解決方案。我的問題是,如果我可以做到這一點,而不必手動調用監聽器。
http://jsfiddle.net/tellnes/7TMBJ/3/
它工作正常,在Firefox 3.6中,因爲Firefox不支持自動對焦。但在支持自動對焦的Safari中,並不是所謂的事件。
錯誤的小提琴鏈接? – Rahul 2016-04-06 11:44:21
@Rahul看起來像我已經更名爲我的jsfiddle用戶名,因爲這是張貼。我更新了鏈接。 – 2016-04-12 14:05:57