0
私は、外部のPHPスクリプトから結果を読み込み、クリックすると他のページに移動するボタンを動的に追加するページを作ろうとしています。私は と思いました。これはPHPファイルからページ数を取得するループfor
を使って行います(これは省略しました)。誰かが、ページがロードされたときにこのボタンのクリックがトリガーされている理由を説明することができますか?
私はtest(pageNum)
という追加の機能を持っており、ページ番号のパラメータを取り込んで結果を取得し、テーブルに表示します。それはうまく機能しますが、ページをロードするたびにすぐにボタンのクリック機能を呼び出すようです。誰かが問題をここで説明できますか?
$(document).ready(function() {
test(1);
$.get("link here", {
op: "pages"
}, function(data) {
$("h1").html(data);
for (var j = 1; j < data.length; j++) {
(function() {
var btn = $("<button>/", {
type: 'button',
text: j,
on: {
click: test(j)
}
});
$('#buttons').append(btn);
})(j);
}
});
});
に問題があります。 'click:function(){test(j);}をクリックしてみてください。 } '。また、クリックされた 'button'要素から' text'(あるいはより良い 'data'属性)を読むと、クロージャの必要性を避けることができます –
あなたの関数は' $(document).ready'です – Pedram
あなたは、追加したすべてのボタンにクリックイベントを追加する必要があります。それはクラスを与えます。そして、委任されたクリックイベントでその要素のクリックを発生させます – bipen