push メソッドを使用して、既存の配列 (st[]) に新しい値を追加しています。新しい値の追加は機能しますが、配列内のすべての値は最後に追加された要素の値を取得します。
if(!window.WordCatcher){
WordCatcher = {};
}
WordCatcher.selector = {};
WordCatcher.selector.getSelected = function(){
var t = '';
if(window.getSelection) {t = window.getSelection();}
else if(document.getSelection) {t = document.getSelection();}
else if(document.selection) {t = document.selection.createRange().text;}
return t;
}
st = new Array();
WordCatcher.selector.dblclick = function() {
st.push(WordCatcher.selector.getSelected());
console.log(st);
}
次のように jQuery で関数を呼び出します。
$(document).bind("dblclick", WordCatcher.selector.dblclick);
例: 最初に「Die」、2 番目に「Smart」、3 番目に「TV」をダブルクリックすると、firebug で次のログが表示されます。
[Die { constructor=Selection, focusNode=textNode, anchorNode=textNode, mehr...}] [Smart {constructor=Selection, focusNode=textNode, anchorNode=textNode, mehr...}, Smart {constructor=Selection, focusNode=textNode, anchorNode=textNode, mehr...}] [TV { constructor=Selection, focusNode=textNode, anchorNode=textNode, mehr...}, TV {constructor=Selection, focusNode=textNode, anchorNode=textNode, mehr...}, TV {constructor=Selection, focusNode=textNode, anchorNode=textNode, mehr...}]
たぶん、誰かが私が何をしているのか知っているでしょう。
よろしく、アンディ