jQuery 链接不起作用
jQuery links are not working
我有一些jQuery可以建立链接,但是链接应该触发更多的jQuery,但它们没有,这是代码:
$(".divisionLinks").click(function () {
$('.show_hide_division').show();
$('.show_hide_main').html($(this).html()+ " is Selected");
//Load the division xml
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("xml//division//"+ $(this).html() + ".xml");
theEnvNodes = xmlDoc.getElementsByTagName('ENVIRONMENT');
//Make the html
theNewHTML = "<ul>";
for (i = 0; i<theEnvNodes.length; i++){
theNewHTML = theNewHTML + "<li><a class='"environmentLinks'" href='"#'">";
theNewHTML = theNewHTML + theEnvNodes[i].childNodes[0].childNodes[0].nodeValue;
theNewHTML = theNewHTML + "</a></li>";
}
theNewHTML = theNewHTML + "</ul>";
$('.environmentButtons').html(theNewHTML);
});
$(".environmentLinks").click(function () {
$('.show_hide_environment').show();
$('.show_hide_division').html($(this).html()+ " is Selected");
});
因此,划分链接有效,但环境链接不起作用。我一直在阅读它可能是jQuery索引.environmentLink类的东西。但我不知道,也不知道有什么解决方法。提前感谢您的帮助。
由于您是动态添加 .environmentLinks,因此您拥有的点击事件不会被附加,因为在加载页面时这些链接不存在。如果您使用的是最新版本的 jQuery,请使用 .on()
将 click 事件绑定到 .environmentLinks 链接。
$("body").on('click', '.environmentLinks', function () {
$('.show_hide_environment').show();
$('.show_hide_division').html($(this).html()+ " is Selected");
});
理想情况下,您希望将 $("body") 替换为比 body 元素更接近它的父元素.environmentLinks
。
事件处理程序仅绑定到当前选定的元素;它们 代码调用 .on() 时必须存在于页面上。 要确保元素存在且可以选择,请执行事件 在文档就绪处理程序内绑定,用于 页面上的 HTML 标记。如果将新的 HTML 注入到页面中, 选择元素并在新 HTML 之后附加事件处理程序 放置在页面中。或者,使用委托事件附加事件 处理程序,如下所述。
您必须使用例如:
$(".environmentLinks").live('click', function () {
$('.show_hide_environment').show();
$('.show_hide_division').html($(this).html()+ " is Selected");
});
或:
$("body").on('click', ".environmentLinks", function () {
$('.show_hide_environment').show();
$('.show_hide_division').html($(this).html()+ " is Selected");
});
我认为这是因为
环境链接是稍后生成的,并且您的单击功能与DOM绑定。
试试这个:
$(".environmentLinks").live("click", function(){
$('.show_hide_environment').show();
$('.show_hide_division').html($(this).html()+ " is Selected");
});
这将"刷新"您的点击事件。
相关文章:
- 我的下拉菜单中的链接不起作用
- JavaScript链接在点击时不起作用;函数在页面加载时工作
- 链接上的IE10 jquery句柄单击事件不起作用
- mouseover和mouseleave文本颜色更改在指令链接中不起作用
- Ajax:Ajax响应中的链接不起作用
- jQuery Mobile到其他页面的锚链接不起作用
- HTML5视频链接在Chrome中不起作用
- Datatable Javascript链接在第2页不起作用
- 指向的超链接刚刚赢得'不起作用
- 链接到手风琴中的另一个选项卡,嵌入的链接将不起作用
- jquery animation.scrollTop()在mdl链接中不起作用
- 在jQuery中链接时CSS属性不起作用
- 从HTML链接时,Javascript文件不起作用
- iframe resizer内部的锚点链接不'不起作用
- 为什么不'使用此JavaScript将文本替换为不起作用的链接
- 外部JavaScript链接不起作用
- 淡入淡出链接悬停不起作用
- 当图像和链接是 json 对象属性的值时,它们不起作用
- 对链接的 svg 进行动画处理不起作用;内联时工作正常
- AngularJS路由不起作用:链接点击时没有事件,没有$routeParams