我使用@ Html.RenderAction渲染页面,我想使用$.ajax()
更新页面,但是当我尝试这样做时,如果我使用下面的代码,则无法识别click事件
$(document).on('click', '.saleType > a', function () {
var saleType = $(this).text();
alert(saleType)
//ajax request made
});
但如果我使用
,则会识别click事件$('.saleType > a').click(function () {
var saleType = $(this).text();
alert(saleType)
//ajax request made
})
使用第二段代码不是答案,因为只识别第一次点击并且无法识别所有后续点击。
为什么我的第一段代码无效?
编辑: 感谢@shyju我可以看到代码是孤立的,所以我的问题是如何调试这个问题?
答案 0 :(得分:0)
看起来对我来说。您当前版本的jQuery
可能无法正确处理事件委派上下文中的直接子选择器'.saleType > a'
。我想出了两个解决方案:
jQuery
版本更新为最新版本(如果不是这样的话)示例:
$(document).on('click', 'a', function () {
var isSaleType = $(this).parent().is('.saleType');
if(isSaleType) { /* your code */ }
});
如果第一个选项不起作用,您可能发现了一个问题。如果是,请向jQuery
小组报告:https://github.com/jquery/jquery/issues