簡體   English   中英

Firefox問題:event.target

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM