私は、特定の要素の次のコードでウェブサイトがあります。W3.orgの検証は、1つのインラインJavaScript属性に固定されています。
<textarea id="textToTranslate" onfinishinput="dothis()" rows="5"></textarea>
ユーザの入力を待ち、彼が停止しているかどうかを確認onfinishinputを。入力をやめると、関数dothisはthrought $( '#waitUserInput')。live()関数と呼ばれます。 私の質問の難しい部分は、上記の行を完全にjQueryに変更する方法です。
jQueryのdothisにDAT correspont()関数は以下の通りです:
// Detect if user input stops
$('#waitUserInput').live("keyup", function(e)
{
startTypingTimer($(e.target));
});
var typingTimeout;
function startTypingTimer(input_field)
{
if (typingTimeout != undefined)
clearTimeout(typingTimeout);
typingTimeout = setTimeout(function()
{
eval(input_field.attr("onfinishinput"));
}
, 250);
}
Javascriptのdothis()関数:
function dothis(){
// Ajax call when called
{
さて、私はhttp://validator.w3.orgに行くとき、私は1個のエラーを持っていますそして、それは上記のコードに関するものです: onfinishinput属性は、この時点で要素textareaでは使用できません。
<textarea id="textToTranslate" onfinishinput="dothis()" rows="5"></textarea>
質問は、である、それはテキストエリアのうちjavascriptの属性onfinishinputをオンにすることが可能であるが、そうそれは同じに機能しているのですか?
私はそれが少し複雑であることを知っていますが、私は誰かが助けることを願っています。
eval(input_field.attr("onfinishinput"));
を::
属性はどこから来ていますか?つまり、あなたはおそらく$( 'textToTranslate ")bind(' finishinput '、dothis)'を実行することができます。 –