如果div有一个函数或onclick挂钩,怎么能让div打开一个新的链接?我一直在尝试下面的内容,但似乎没有任何效果,div不会包含新的链接。
jQuery.prepend('<div class="dropdown">' + r + closer + "</div>"))
我尝试添加javascript以使bugme类包含一个新链接但到目前为止没有运气..
jQuery(".dropdown").on("click", function(e) {
location.href = "www.google.com.com";
}
我还尝试在代码中包含onclick="location.href='http://www.google.com';"
,但它不起作用,为什么以下代码不允许新链接?
答案 0 :(得分:4)
由于您的.dropdown
是动态添加元素,因此您需要所谓的 event delegation
。而不是location.href
使用window.open
。所以写下click event
如下:
jQuery(document).on("click",".dropdown", function(e) {
window.open('http://www.google.com', '_blank')
}
答案 1 :(得分:0)
$('body').append($('<div class="dropdown">Click me</div>'));
jQuery(".dropdown").on("click", function(e) {
location.href = "www.google.com.com";
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
这也是有效的尝试
答案 2 :(得分:0)
FYI;
这段代码不起作用
jQuery(".dropdown").on("click", function(e) {
location.href = "www.google.com.com";
}
<强>原因:强>
jQuery不知道任何带有类dropdown
的元素,因为它是在运行时插入的,并且没有为新添加的项分配事件处理程序。
委派事件的优势在于,他们可以处理来自稍后添加到文档的后代元素的事件。通过选择在附加委托事件处理程序时保证存在的元素,您可以使用委派事件来避免频繁附加和删除事件处理程序的需要。
此处document
对象始终保证存在。
jQuery(document).on("click", ".dropdown", function(e) {