好的,我试图做的很简单但不适合我。我有比特币帐户,我需要创建付款。对于这种方法,我有一个归档,当用户输入金额并点击支付系统通过API连接设置付款和返回代码。这个代码需要放在我的DIV和客户端的数据代码中,应再次点击进行此付款。我希望用户在放入金额后只点击一个,当我输入数据代码并使用按钮显示div时我自动想要button.clic()。
我的第一步是创建简单的HTML,我有一个来自官方示例的教程(请不要付费!!!)
<a href="#" class="my-custom-link">Show Me The Modal!</a><div class="coinbase-button" data-code="d070357b8c689f549bb13c3537303847" data-button-style="none"></div>
<script src="https://coinbase.com/assets/button.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('.my-custom-link').click(function(){
$(document).trigger('coinbase_show_modal', 'd070357b8c689f549bb13c3537303847');
return false;
});
$(document).on('coinbase_payment_complete', function(event, code){
console.log("Payment completed for button "+code);
window.location = "/confirmation.html";
});
});
</script>
此代码是正确的,当我点击显示模态是一切都好,但接下来我有NEXT按钮。当我点击下面的JS时,这个函数正在运行
<script>
$(function(){
function preparePayment(event) {
$('#makePayment').empty();
$('#makePayment').append('<a href="#" class="my-custom-link">Show Me The Modal!</a><div class="coinbase-button" data-code="d070357b8c689f549bb13c3537303847" data-button-style="none"></div>');
return false;
}
$( "#next" ).click(function() {
//$( this ).empty();
preparePayment();
//$('#makePayment').click();
});
});
</script>
现在,当我单击NEXT时,此div为空并且在.append()中附加代码显示,但是当我单击Show The Modal时!什么都没发生?你能告诉我我错了什么吗?
答案 0 :(得分:0)
尝试在此背景下使用event-delegation
,
$("#makePayment").on('click','.my-custom-link', function(){
//your code goes here
});
答案 1 :(得分:0)
由于在my-custom-link
js方法中动态添加了preparePayment
类,因此需要使用event delegation来注册事件处理程序,如:
// New way (jQuery 1.7+) - .on(events, selector, handler)
$(document).on('click', '.my-custom-link', function(event) {
$(document).trigger('coinbase_show_modal', 'd070357b8c689f549bb13c3537303847');
return false;
});