この 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」を持っていません。