是否可以将javascript事件添加到已经有onclick事件的DOM元素中,但我想保留该事件属性。
我有这样的单选按钮:
<input type="radio" name="checkout-payment" value="56" id="checkout-payment-56" class="checkout-radio checkout-payment-radio checkout-payment-radio" onclick="paymentChanged(this);" />
我要添加
window.location.href=window.location.href
虽然保持原来的onclick,但我无法访问html,我只能通过javascript修改。
所以我想要的代码将是
<input type="radio" name="checkout-payment" value="56" id="checkout-payment-56" class="checkout-radio checkout-payment-radio checkout-payment-radio" onclick="paymentChanged(this); window.location.href=window.location.href" />
答案 0 :(得分:0)
你可以尝试:
var curHandler = $('#checkout-payment-56').attr("onclick");
$('#checkout-payment-56')[0].onclick = null;
$('#checkout-payment-56').click(function () {
window.location.href=window.location.href;
});
答案 1 :(得分:0)
包裹
window.location.href=window.location.href
在功能中,我们称之为
onRadioButtonClick()
然后,就这样做
var self = this; //keep the context of the file
$("[name=checkout-payment]").on('click', function () {
onRadioButtonClick.call(self); //call the method with the normal context.
//continue code..
});
答案 2 :(得分:0)
如果您想将其添加到每个.webshop-checkout input[type="radio"]
,您可以这样做:
$('.webshop-checkout input[type="radio"]').click(function(){
window.location.href=window.location.href;
});
答案 3 :(得分:0)
我实际上发现有一种更简单的方法来实现我想要的结果。
$( '.webshop-checkout input[type="radio"]' ).click(function() {
location.reload(true);
});
对不起,我在原帖中并不清楚,并且已经过编辑。
答案 4 :(得分:0)
$("#checkout-payment-56" ).bind( "click", function(evt) {
console.log('that works');
//sessionStorage.setItem(evt.target.id,evt.target.className);
});