「受信トレイ」リンクのコピーを作成する必要があるGmail用のgreasemonkeyスクリプトに取り組んでいます。cloneNodeの使用は問題なく機能しますが、実行時にそれにアタッチされるonclickイベントがあると思います。したがって、これは2つの部分からなる質問です。1。ノードにアタッチされているイベントを確認する方法はありますか?2.それらのイベントもコピーする方法はありますか?私が見つけた最も近いものはjQueryでした、そして私はまだそこに行く準備ができていません。ありがとう!
質問する
2458 次
3 に答える
5
onclick
要素の属性を使用して設定されていない限り、そうではありません。- 確実ではありません(
onclick
属性をコピーできますが、それが引き続き機能するかどうかは、属性が使用されたかどうかとその機能によって異なります)。
独自のclick
ハンドラーを追加してから、元のイベントでそのイベントをトリガーすることをお勧めします...または他の方法で動作をシミュレートします。
于 2009-05-02T21:29:42.220 に答える
0
イベントを追加するために Nodelist を使用する例を次に示します。
<body>
<div id="one" class="clones" style="background:red;width:100px;height:100px"></div>
</body>
<script>
//Selecor based live list [Advantage]
var nodeList = document.getElementsByClassName('clones')
//Common Function for nodelist
nodeList.addEvents = function(){
nodeList.item(nodeList.length-1).addEventListener('click',function(){
console.log(this.id);
});
}
nodeList.addEvents();
//Making Clone
var _clone = document.getElementsByTagName('div')[0].cloneNode(true);
//Changing Id
_clone.id="two"
document.body.appendChild(_clone);
nodeList.addEvents();
</script>
于 2013-08-10T19:02:06.093 に答える
0
この理論を使用して、この問題を解決できると思います。
JS には liveList とも呼ばれる NodeList があります。それらの長さが変わるたびに確認できます。(長さ-1) のリストの新しい要素に必要な共通イベントを addEvent します。
何を言います....
于 2013-08-10T18:20:03.307 に答える