私はevalを使用していないので、Crockfordが次の点でどのような問題があるのか分かりません。次の問題を解決するためのより良いアプローチがありますか、これは私が無視する必要があるものです(改善のための領域があれば私のソリューションを完璧に/改善することが望ましい)。関数(..)throws 'eval is evil'メッセージ
私はいくつかのピクセルトラッキングを使用しています。この場合、クライアントはJS関数を、サイトからリダイレクトされるHTMLイメージタグのonclick
プロパティにバインドしています。画像のイベントリスナーの倍数で競合状態に陥ることなく、確実にクリックを追跡する必要があります。戦略は、実行時にイベントをオーバーライドし、自分の関数でイベントをコピーして実行することです。これは私が制御しないサイトに適用されており、変更することはできません。だから、解決策のようなものになります。
...
func = Function(img.attr('onclick'));
...
img.attr('onclick', '');
... //some custom tracking code
func.call(this);
をしてJSLintチェッカーがeval is evil
エラーがスローされます。
href
アクションの周りの複数のイベントの競合状態を回避する良い方法はありますか?
に供給されているように、元のハンドラがまったく同じパラメータで呼び出されることを保証
技術的には、それは_property_で、_attribute_ではありません。 – Alnitak
実際にはイベントハンドラですが、属性ではないことを指摘してくれてありがとうので、正しく修正できました。 – GillesC