2

関数内にこれがあります:

$('#users').append($("<div id='usuarios'>").text(mensaje[1][i]));

この新しい の onclick イベントを作成したいと思います<div>。どうすればこれを達成できますか?関数の外でこのように試しています:

$(document).ready(function(){
$('#usuarios').click(function() {
        alert("click");
    });
});

しかし、うまくいきません。

4

5 に答える 5

7

jQuery 1.7+ では、 .on()を使用してイベント ハンドラーを親要素にアタッチできます。

$(document).ready(function(){
  $('body').on('click', '#usuarios', function() {
     alert("click");
  });
});

またはさらに良い:

$(document).ready(function(){
  $('#users').on('click', '#usuarios', function() {
     alert("click");
  });
});
于 2013-01-08T03:45:32.687 に答える
5

これは jQuery の API の仕組みそのものなので、インラインで (の.append後にチェーンすることにより) 行うこともできますが、変数に入れることもできます。.text

var usarios = $("<div id='usuarios'>").text(mensaje[1][i]);

usarios.click(function() {
    alert('click');
});

$('#users').append(usarios);
于 2013-01-08T03:45:14.863 に答える
3

私もこの問題に直面しました。これを document.ready 内に配置すると、機能しません。私はそれが私の構文だと思っていましたが、そうではありません。

使用

$(document).on('click', "input[id^='radiobox']", function () { 
    alert('hihi'); 
});

それからそれは動作します

于 2013-11-08T11:47:58.920 に答える
1

ふたつのやり方

1.Jquery 1.7+

$(document).ready(function(){
  $('body').on('click', '#usuarios', function() {
     alert("click");
  });
});

2.Jクエリ<1.7

$(document).ready(function(){
  $('body').delegate('#usuarios','click', function() {
     alert("click");
  });
});
于 2013-01-08T03:53:24.010 に答える
1

要素を動的に作成しているため、通常のイベント ハンドラーは機能しません。on()ドキュメントにイベント ハンドラーをアタッチするには、 を使用する必要があります。

$(document).on('click', "#usuarios", function() {
    // do your job here
});
于 2013-01-08T03:51:15.903 に答える