2012-01-21 18 views
0

この簡単なjqueryプラグインがjQuery Set Cursor Position in Text Areaから見つかりました。しかし、一つの問題は、私は私がやっていることは、次のように本当に簡単ですFirefoxでエラーとクロムコンソールカスタムjqueryプラグインのブラウザコンソールエラー

Uncaught TypeError: Object #<HTMLInputElement> has no method 'setCursorPosition' 

を取得しています。

<script type="text/javascript"> 
//to set text cursor 
(function($) { 
    $.fn.setCursorPosition = function(pos) { 
    if ($(this).get(0).setSelectionRange) { 
     $(this).get(0).setSelectionRange(pos, pos); 
    } else if ($(this).get(0).createTextRange) { 
     var range = $(this).get(0).createTextRange(); 
     range.collapse(true); 
     range.moveEnd('character', pos); 
     range.moveStart('character', pos); 
     range.select(); 
    } 
    } 
})(jQuery); 
.... 
textboxArray.get(0).setCursorPosition(0); 
</script> 

上記のエラーが発生する理由については、ご了承ください。

更新:Blenderのおかげで、困惑して問題を解決しました。

textboxArray.setCursorPosition(0); 
+2

してみてください、あなたのtextboxArray要素はjQueryオブジェクトではないということになりますか?それを取り除き、何が起こるか見る。 – Blender

+0

@ブレンダーあなたは鋭い目をしています。まあ。多分、私は鈍いものを持っています。プラグインは配列を必要とします。ありがとう –

+0

問題はありません。ラッキーな推測... – Blender

答えて

2

それはなぜ `に.get(0)`どこにでもあり$(textboxArray.get(0)).setCurrsorPosition(0);

+0

あなたは正しい方向を持っていると思います。しかし、実際にはtextboxArrayはjquery配列です。プラグインは要素ではなく配列を期待しています。とにかくありがとう。 –

+0

jQuery配列は、配列内のすべての要素がjQueryオブジェクトであるとは限りません。その配列をどうやって作りましたか? –

+0

jqueryセレクタの結果であるため、すべてjqueryオブジェクトです。とにかく、私は問題を解決し、再び幸せです。ご回答有難うございます。 –

関連する問題