如何在新的标签/链接中打开内置的div?

时间:2015-10-20 06:14:36

标签: javascript jquery

如果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';",但它不起作用,为什么以下代码不允许新链接?

3 个答案:

答案 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)

&#13;
&#13;
$('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;
&#13;
&#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) {