繁体   English   中英

如何将onclick添加到使用javascript的链接?

[英]How to add onclick to a link with javascript?

我正在使用以下代码段将onclick添加到定位标记,但显然无法正常工作。

var address_edit = $('.edit-user a').attr('href'));
$('.edit-user a').prop('onclick', 'Popup("address_edit","Edit","900","500");')

我想要的是:

这是我在inspect元素上的代码:

<div class="edit-user">
    <a href="example.com/nokidding">No kidding</a>
</div>

这就是我需要的:

<div class="edit-user">
    <a onclick='Popup("address_edit","Edit","900","500");' href="example.com/nokidding">No kidding</a>
</div>

像这样添加点击事件:

$('.edit-user a').click(function(e) {
    e.preventDefault();
    Popup("address_edit","Edit","900","500");

    // I don't know if you need to redirect after popup open
    window.location.href = "example.com/nokidding";
})

它不是prop ,而是attr ,因为onclick是一个属性,而不是一个属性。 但是我会在元素中添加带有jQuery的click事件监听器,并在回调中执行您的操作:

$('.edit-user a').click(function(e) {
    // this stops the 'href' of the anchor from being executed
    // if you want the user to follow the 'href' after click, remove the line
    e.preventDefault();

    Popup("address_edit", "Edit", "900", "500");
});

这不是属性。 您可以这样处理:

$('.edit-user a').on('click', function() {
    Popup("address_edit", "Edit", "900", "500");
});

为此,您需要使用动态出价,因为您正在动态创建元素。 在下面使用

$(document).on('click', '.edit-user a', function() {
Popup("address_edit", "Edit", "900", "500");
});

请确认我的演示:

 $('.edit-user a').click(function(e) { e.preventDefault(); var href = $(this).attr('href'); console.log(href); //Popup(href, "Edit", "900", "500"); //open popup }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="edit-user"> <a href="example.com/nokidding">No kidding</a> </div> 

这应该工作:)

 $(document).ready(function(e){ $(".link").attr('onclick','Popup("address_edit","Edit","900","500");'); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <a class="link" href="example.com/nokidding">No kidding</a> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM