2013-05-13 62 views
0

我有這個按鈕:追加了onclick事件新的HTML

<button type="button" class="close" data-dismiss="modal" aria-hidden="true" name="kontakt" onClick="$(this).min('kontakt');">_</button> 

與這個jQuery:

$.fn.min = function(navn) { 
    $('#footerMenu').append('<li><button onClick="$(this).test('+navn+');">'+navn+'</button></li>'); 
}; 

$.fn.test = function(navn) { 
    alert('something'); 
}; 

我只是不能得到最後alert('something')顯示 可以在任何告訴我什麼我做錯了?

+0

你在哪裏調用它爲它顯示出來? – karthikr 2013-05-13 20:51:51

+0

它在新的,附加的HTML – 2013-05-13 20:52:28

回答

0

我想引用一些有你的追加搞砸。試試這個

$('#footerMenu').append('<li><button onClick="$(this).test("'+navn+'");">'+navn+'</button></li>'); 
+0

這仍然有報價問題。 ''''會關閉'onclick'屬性。 – 2013-05-13 20:56:23

+0

Quote版本讓我頭疼。將更新。 – tymeJV 2013-05-13 20:56:44

2

這可能是報價。

試試這個:

$('#footerMenu').append('<li><button onClick="$(this).test('+"'"+navn+"'"+');">'+navn+'</button></li>'); 

或另一種方式

var clickTxt = '$(this).test("' + navn + '");'; 
$('#footerMenu').append('<li><button onClick="' + clickTxt + '">'+navn+'</button></li>'); 
+1

它的工作原理!:)所以問題一直是quorts;) – 2013-05-13 21:01:32

0

工作演示-->http://jsfiddle.net/Rqu7H/1/

$.fn.test = function (navn) { 
    console.log('something'); 
} 

$.fn.min = function (navn) { 
    console.log('min'); 
    $('#footerMenu').append("<li><button onClick='$(this).test(\"" + navn + "\");'>" + navn + "</button></li>"); 
} 
});