1

jQuery イベント リスナーを type の要素に正常にアタッチして、<object>そのイベントでトリガーされたイベントを取得することができませんでした。

したがって:

<object></object>

JavaScript の場合:

$('object').on('foo', function(evt, data){ alert(data) });
$('object').trigger('foo', 'object-on-object');

にまったく同じコードがある場合は、正常に$('body')動作します。また、 、 、 でイベントをリッスンする<body>$('object').trigger()、イベントが取得されます。

これを示すjsFiddleがあります。その中で、イベントが出力を発生させていないことがわかりますbarが、2 つのイベントは出力を発生させfooています。

4

1 に答える 1

0

したがって、答えはノーのようです。このスレッドによると、イベントのバインド、または jQuery と<object>要素で興味深いことを行うことに関連する問題があります。

解決策は、イベントを別の場所で発生させることのようです。$(document)は有効な選択と思われるため、次のようなことができます。

$(document).on('foo', 'object', {data: data}, handler);

$('object').trigger('foo');

これは、私が望んでいた方法とは少し間違っています (消費者にプラグイン要素のイベントをリッスンするように指示できるようにしたかったのです) が、十分に機能します。コードで修正できないものは、ドキュメントで修正します。

于 2012-05-25T11:14:09.257 に答える