[英]Issue with Firefox: event.target
我使用下面的腳本將一些變音符號從傳統形式替換為標准形式。 在除Firefox之外的所有瀏覽器中都能正常工作; 根本不起作用的地方 我認為問題出在event.target,但我只是從javascript開始,卻不知道如何解決此問題。
找到了這個(可能的)解決方案來解決我的問題,但是不知道如何適應我的腳本: event.target在Firefox上不起作用
任何幫助將不勝感激!
function inlocuire_diacritice (form) {
var form = event.target;
var i, l;
for (i = 0, l = form.elements.length; i < l; i += 1) {
if (form.elements[i].type === 'text') {
form.elements[i].value = form.elements[i].value.replace(/Ş/g, 'Ș');
form.elements[i].value = form.elements[i].value.replace(/ş/g, 'ș');
form.elements[i].value = form.elements[i].value.replace(/Ţ/g, 'Ț');
form.elements[i].value = form.elements[i].value.replace(/ţ/g, 'ț');
}
}
return true;
}
編輯:我從另一個函數內部調用該函數:
function validate(form) {
//form validation script
inlocuire_diacritice (form);
}
這稱為表單提交:
<form action="whatever" name="whatever" method="post" onsubmit="return validate(this)">
嘗試這個:
<form action="whatever" name="whatever" method="post" onsubmit="return validate(event, this)">...</form>
和功能:
function inlocuire_diacritice (ev, form) {
// form is a reference to the form element already
// if you need event.target, use ev.target
// this refers to the element to which this event is attached
:
}
實際上,在FF(或任何現代瀏覽器)中,調用函數時不需要傳遞參數,而在函數聲明中則需要包含一個表示event
參數。 eventhandler中的this
指事件附加到的元素。
請閱讀有關addEventListener
以了解偵聽器應如何實際附加到元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.