summary of April -- fore

本文总结了JavaScript编程中遇到的一些典型问题,包括最大调用堆栈溢出、Echarts动态设置、JQuery事件绑定与触发、Ajax异步请求等,并提供了相应的解决方案。还涉及前端模板使用、IE浏览器兼容性问题、BootStrap Table参数传递以及Select2插件应用等前端开发细节。
摘要由CSDN通过智能技术生成

1、 Maximum call stack size exceeded 出现的原因

  • 可能是陷入死循环了;考虑递归调用中是否有结束的条件;
  • js的事件冒泡;
    事件冒泡:当一个元素接收到事件的时候,会把接收到的事件传给自己的父级,一直到window;(注意这里传递的仅仅是事件,并不传递所绑定的事件函数;所以如果父级没有绑定事件函数,就算传递了事件,也不会有什么表现,但事件确实传递了)

2、动态设置echarts的series以及legend?

function oneOption(priceArray,seriesArry,weekArry){
   
	// 必须用js语法不能用jquery
	var myChart = echarts.init(document.getElementById("runChart"));
	option = {
   
		    tooltip: {
   
		        trigger: 'axis'
		    },
		    legend: {
   
		    	y:'bottom',
		        data:[]
		    },
		    toolbox: {
   
		        show: true
		    },
		    xAxis:  {
   
		    	axisTick: {
   
		    		show: false
		    	},
		        type: 'category',
		        data: weekArry
		    },
		    yAxis: {
   
		        type: 'value'
		    },
		    series: seriesArry
		};
		myChart.setOption(option);
		var option1=myChart.getOption();
		var legend={
   y:'bottom',data:priceArray};
		option1.legend=legend;
		myChart.setOption(option1,true);
}

function one(reportName,subject,price1,price2) {
   
	jp.post("${ctx}/getData?reportName="+reportName,function(data){
   
		var data = eval("("+data+")");
		var priceArray = ['销售价','收购价'];
		var seriesArry = [];
		for (var j = 0;j < priceArray.length; j++) {
   
			seriesArry[j] = {
    
					name: priceArray[j],
					type:'line',
					data: data.list[j].dataList
			};
		}
		var weekArry = data.list[0].weekList;
		oneOption(priceArray,seriesArry,weekArry);
	});
}

3、jq绑定、触发、移除事件?

// 绑定一个或多个事件
$("div").bind("mouseover mouseout",function(){
   ...});
$("#periods").click(function(){
   ...});
// 绑定一次点击后就失效的事件
$("#periods").one("click",function(){
   ...})// 触发事件(trigger方法触发被选元素的指定事件类型)
$('#btn').trigger("click");
                                     
// 移除之前绑定的所有click事件
$("#periods").unbind("click"); 
// 移除所有
$('#btn').unbind();
// 取消绑定test函数
$('div').unbind('click', test);

// 场景:
// 使用这个在于一个下拉框不同的下拉选项,另外一个input对应不同的点击事件
// 绑定事件前都先移除事件,因为click不能绑定多个方法
// 但是不能使用one,因为可能多次点击,但是都需要有事件

4、使用JQuery获取被选中的checkbox的value值?参考

<html>
    <head>
        <meta charset="gbk">
        <!-- 引入JQuery -->
        <script src=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值