-1

関数をトリガーするリンクを (オンザフライで) 自動的に書き直し、目立たない JavaScript コードに変換する必要があります。

例:

link_to_function 'hey', "alert('hey')"

になります:

<a href='#' onclick="alert('hey')"> hey </a>

私の考えは、HTML 要素で参照を作成し、関連するすべてのコードを格納するために JS でオブジェクトを作成することです。次に、前の例をよりクリーンで目立たない例に変換します。

<a href='#' data-href='rndReference'> hey </a>

JS の場合 (code変数は、マークアップから削除した JS コードです):

storageCode[rndReference] = new Function(code)

コードの各文字列はFunction(code)、関数として呼び出すために new を介して渡されます。

このアプローチの何が問題なのですか? どのようなアプローチが良いでしょうか?

4

1 に答える 1

0

これが行われる通常の方法は次のとおりです。

<a href='#' onclick="alert('hey')"> hey </a>

になります:

<a href='#' data-role='alert'> hey </a>

次に、CoffeeScriptファイルで:

$ ->
  $("a[data-role='alert']").on("click", (event) ->
    event.preventDefault()
    alert("hey")
  )

または、CoffeeScript が気に入らない場合は、次のようにします。

$(document).ready(function() {
  $("a[data-role='alert']").on("click", function(event) {
    event.preventDefault();
    alert("hey");
  });
)
于 2013-07-11T16:15:33.607 に答える