1

私は周りを検索しましたが、これに対する答えが見つかりません。私のコードでは、div 内にリンクが作成され、関数に引数を渡すための onclick 値が与えられます。発火しない理由がわかりません。

var imgCount = 0;
var curImg;


function resetImg(target) {
alert(target);
}



$(".add").click(function () {
imgCount = imgCount + 1;
curImg = "theImg" + imgCount;


//Here we add the remove link
$('#links')
    .append('<a href="#" onclick="javascript:resetImg(\'' + curImg + '\');"  class="dynamic">Call Function</a>');
$('.dynamic').css('display', 'block');
});

これがフィドルです: http://jsfiddle.net/stewarjs/4UV7A/

リンクを作成するときに .click() を使用しようとしましたが、渡される引数は各リンクに固有である必要があります。$(this).attr("id") を取得しようとしましたが、値が未定義に戻ります。

助けてくれてありがとう。ジェフ

4

3 に答える 3

1

onclickから削除するjavascript:と、次のようになります。onclick="resetImg(\'' + curImg + '\');"

于 2013-02-08T20:20:13.450 に答える
0

onclickハンドラーを取り除く方法は常にあります。これが私がそれを行う方法です:

var image_count = 0;

$('#links').on('click', '.dynamic', function(e) {
    e.preventDefault()

    alert($(this).data('image'));
});

$('.add').click(function () {
    $('<a />', {
        'href': '#',
        'data-image': 'theImg' + (++image_count),
        'class': 'dynamic',
        'text': 'Call function'
    }).appendTo('#links');
});

デモ: http://jsfiddle.net/4UV7A/4/

于 2013-02-08T20:22:24.613 に答える