1

この HTML を考えると:

  <div class="blah" id="div1">a</div>
  <div class="blah" id="div2">b</div>

次の JavaScript コードのように、「this」の値に応じてハンドラーを作成しようとしています。

$(document).ready(function() {
  $(".blah").click(function() {
    alert(this.id); }); });

Fayでそれを行う方法は?これを行うための API が見つかりませんでした。メインから直接 ffi を呼び出すことは不可能のようです:

main = ready $ do
  select ".blah" >>= onClick (\_ ->
    ffi "alert(this.id)")

「Test$ffi が定義されていません」というメッセージが表示されます。以下のコードを使用して ffi を呼び出すことができました。

alertthis = ffi "alert(this.id)"
main = ready $ do
  select ".blah" >>= onClick (\_ ->
    alertthis)

しかし、「this」はFay固有のオブジェクトを指し、プロパティ「id」を持っていません。

4

1 に答える 1