页面重新加载时未执行Javascript
当我的页面通过用户点击我的复选框重新加载时,我的JS不会执行 发生的情况是,URL变量被附加到URL中(大小、颜色、价格等,取决于用户单击的内容),当这种情况发生时,JS不知何故没有执行 JS所做的是为我的UL创建一个名为SizeChicklets的类。此外,由于SaaS平台的限制,我只能使用jQuery1.3.2 以下是在单击任何框之前,成功加载页面时我的框的外观: 下面是在页面加载失败时,当我单击任何框时,我的框的外观: 这是因为我附加到UL的类是通过Javascript完成的。然后,该类将被样式化。但是,我希望在页面重新加载时执行JS,所以我没有这个问题 当我第一次到达产品优化页面时,我的URL如下所示:页面重新加载时未执行Javascript,javascript,jquery,html,css,ajax,Javascript,Jquery,Html,Css,Ajax,当我的页面通过用户点击我的复选框重新加载时,我的JS不会执行 发生的情况是,URL变量被附加到URL中(大小、颜色、价格等,取决于用户单击的内容),当这种情况发生时,JS不知何故没有执行 JS所做的是为我的UL创建一个名为SizeChicklets的类。此外,由于SaaS平台的限制,我只能使用jQuery1.3.2 以下是在单击任何框之前,成功加载页面时我的框的外观: 下面是在页面加载失败时,当我单击任何框时,我的框的外观: 这是因为我附加到UL的类是通过Javascript完成的。然后,该
.com/s?defaultSearchTextValue=Search&searchKeywords=*&Action=submit
.com/s?defaultSearchTextValue=Search&searchKeywords=*&Action=submit&field_subjectbin=&field_brandtextbin=&field_price=&field_generic_text_2-bin=&field_generic_text_1-bin=&field_size_name=9M&searchRank=generic-one-desc-rank&searchSize=12&searchPage=1&searchBinNameList=subjectbin%2Cbrandtextbin%2Cprice%2Cgeneric_text_2-bin%2Cgeneric_text_1-bin%2Csize_name
然后,单击其中一个框(值:9M),URL将更改为如下所示:
.com/s?defaultSearchTextValue=Search&searchKeywords=*&Action=submit
.com/s?defaultSearchTextValue=Search&searchKeywords=*&Action=submit&field_subjectbin=&field_brandtextbin=&field_price=&field_generic_text_2-bin=&field_generic_text_1-bin=&field_size_name=9M&searchRank=generic-one-desc-rank&searchSize=12&searchPage=1&searchBinNameList=subjectbin%2Cbrandtextbin%2Cprice%2Cgeneric_text_2-bin%2Cgeneric_text_1-bin%2Csize_name
以下是我的Javascript:
jQuery( document ).ready(function() {
var sizeUL = jQuery('.binName').filter(function(){
return this.innerHTML.trim() == 'Size';
}).next("ul")
sizeUL.addClass('SizeChicklets');
/*Prepend and Append clear div*/
jQuery('.binName').filter(function(){
return this.innerHTML.trim() == 'Size';
}).prepend('<div style="clear: both;">').append('</div>');
/* AJAX SIZE SELECTOR */
jQuery("li a", sizeUL).click(function() {
if(jQuery(this).hasClass('SizeChickletSelected')) {
jQuery(this).removeClass('SizeChickletSelected');
} else {
jQuery(this).addClass('SizeChickletSelected');
}
});
});
谢谢。您可以尝试将document.ready更改为:Sys.Application.add\u load(函数(){它需要scriptmanager才能工作。也许这有帮助:@pc shooter是的,这些都没有帮助。drzounds我不知道那是什么。听到这个我很高兴。我会考虑由tommorow左右赏金。顺便说一句,我不认为CSS是问题的一部分。你应该删除那部分。同时删除“CSS”标记。你确定有完整的页面重新加载吗当url更改时?我认为SaaS平台正在使用Ajax处理点击,之后它会重建复选框列表,并使用历史API更改url。您必须找到一种方法,在Ajax请求后如何执行JavaScript代码,但选项取决于具体实现方式。如果确实重新加载一个页面,然后验证第二个页面的代码中是否存在JavaScript代码,以及UL选择器是否与HTML代码匹配。