有关请求ajax后怎么在内部使用点击事件

哺乳系爬行动物 发布于 2014/10/28 15:40
阅读 3K+
收藏 0

@Kener-林峰 你好,想跟你请教个问题:

你好,想请教个问题,请问下怎么在ajax内部使用点击事件,静态数据写了个Test可以实现点击事件,但通过ajax获取后台数据,这个怎么去使用点击事件

$.ajax({
type : "post",
dataType : 'json',
url : '../../report/vacancyratereport.do',
data : {
'jsonStr' : jsonStr
},
complete : function() {
},
success : function(data) {
if (shopq[index] == "shopquantity") {
option.title.text = "Vacancy Rate Report/(Shops Quantity)";
} else {
option.title.text = "Vacancy Rate Report/(GLA)";
}
option.title.subtext = lstSubText[index];
option.xAxis[0].data = data.xAxis;
option.series[0].data = data.series;


myChart = echarts.init($("#result" + index)[0]);
echarts.init($("#result" + index)[0]).setOption(option);
var ecConfig = require('echarts/config');
   myChart.on(ecConfig.EVENT.CLICK, eConsole); 
   function eConsole(param) {
    alert(param.dataIndex+ "---"+ param.name);
   }
},
error : function(XMLHttpRequest,textStatus, errorThrown) {
}
})

加载中
0
静心天涯
静心天涯

直接将写 的 ajax 函数,放入 click function 就可以了

0
哺乳系爬行动物

引用来自“静心天涯”的评论

直接将写 的 ajax 函数,放入 click function 就可以了

额,用这段代码
var ecConfig = require('echarts/config');
   myChart.on(ecConfig.EVENT.CLICK, eConsole); 
   function eConsole(param) {
    alert(param.dataIndex+ "---"+ param.name);
   }
}
在ajax结束后出了方法块貌似就没用了...怎么解决?
静心天涯
静心天涯
你是添加事件,还是触发事件??
0
风城剑客
风城剑客
给ajax加个sync=false参数
哺乳系爬行动物
貌似还是不行...
0
静心天涯
静心天涯
function ajxFun () {
			jQuery.ajax({
			  url: '/path/to/file',
			  type: 'POST',
			  dataType: 'xml/html/script/json/jsonp',
			  data: {param1: 'value1'},
			  complete: function(xhr, textStatus) {
			    //called when complete
			  },
			  success: function(data, textStatus, xhr) {
			    var elem = $('<li></li>');
			    elem.click(clickFun);
			    $('ul').append(elem);
			  },
			  error: function(xhr, textStatus, errorThrown) {
			    //called when there is an error
			  }
			});
		}

		function clickFun () {
			alert("li 的点击事件。");
		}


不知道有没有写错,大概就这个样子



0
哺乳系爬行动物

引用来自“静心天涯”的评论

function ajxFun () {
			jQuery.ajax({
			  url: '/path/to/file',
			  type: 'POST',
			  dataType: 'xml/html/script/json/jsonp',
			  data: {param1: 'value1'},
			  complete: function(xhr, textStatus) {
			    //called when complete
			  },
			  success: function(data, textStatus, xhr) {
			    var elem = $('<li></li>');
			    elem.click(clickFun);
			    $('ul').append(elem);
			  },
			  error: function(xhr, textStatus, errorThrown) {
			    //called when there is an error
			  }
			});
		}

		function clickFun () {
			alert("li 的点击事件。");
		}


不知道有没有写错,大概就这个样子



echarts的事件绑定,我绑定了CLICK事件,但等AJAX结束后出了方法块事件就不会被触发了

$(document).ready(function() {
		// 模块引入,包引入方式
		require.config({
			packages: [
			  {
			      name: 'echarts',
			      location:  '../../scripts/echarts/echarts',
			      main: 'echarts'
			  }
			]
		});
		//动态加载echarts然后在回调函数中开始使用
			require([ 'echarts'], function(ec) {
				var echart = ec;
			
				var option = getOption();
				option.title.text = "Vacancy Rate Report/(GLA)";

				var myChart = echarts.init($("#result0"));
				myChart.setOption(option);
				var ecConfig = require('echarts/config');
			    myChart.on(ecConfig.EVENT.CLICK, eConsole); 
			    function eConsole(param) {
			    	alert(param.name);
			    }
			});
		});



但是通过这种静态数据的方式是可以实现,这个应该怎么去实现..

返回顶部
顶部