1

2 つの div (左と右) を持つ html ドキュメントがあり、ドキュメントはいくつかの js 関数で読み込まれます。通常、editme という名前の 1 つの関数は左の div に読み込まれますが、ユーザーが右のナビゲーションを展開すると、この editme 関数を起動する必要があります/open up a new window and do things. つまり、可能であれば次のオプションのいずれかが機能します: 1) 既存の関数を破棄し、同じ名前の新しい関数を再作成する 2) その場で js 関数を変更する

どれが可能で、どのように?

ありがとう。

提案に基づいて以下を追加しました。

edit=function(){} // works, however less value

edit=function(id) { 'window.open("editMe.cfm?taid="+id,"edit","left=260,top=20,height=410,width=590,resizable=1,scrollbars=1")' } // fails

SyntaxError: unterminated string literal

attempted to scape the double quotes like the following to no avail, 'window.open(\"editMe.cfm?taid=\"+id,\"edit\",\"left=260,top=20,height=410,width=590,resizable=1,scrollbars=1\")'

私は何か間違ったことをしていますか?

参考までに、このコードは onclick イベントの他のコードの一部です。

4

1 に答える 1

5

関数は JavaScript の第一級オブジェクトです。すでに(暗黙的に)作成した変数に新しい関数を再割り当てするだけです...

function foo() {
    //do stuff
}

//now, reassign the var to do something else
foo = function() {
    //do other stuff
}

これが良い習慣だと言っているわけではありません...しかし、あなたの質問に答えるには、はい、可能です。

于 2013-04-24T16:28:18.120 に答える