Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过Ajax调用加载元素后单击事件不起作用_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 通过Ajax调用加载元素后单击事件不起作用

Javascript 通过Ajax调用加载元素后单击事件不起作用,javascript,jquery,ajax,Javascript,Jquery,Ajax,我加载页面(包含javascript),然后加载PartialView(包含表)。问题是,我无法选择表id,或者onClick事件没有触发 Index.cshtml $('#sortingRow').on('click', 'th a', function () { $.ajax({ url: this.href, type: 'GET', data: { sortOrder: sortOrder }, success: f

我加载页面(包含javascript),然后加载PartialView(包含表)。问题是,我无法选择表id,或者onClick事件没有触发

Index.cshtml

$('#sortingRow').on('click', 'th a', function () {
    $.ajax({
        url: this.href,
        type: 'GET',
        data: { sortOrder: sortOrder },
        success: function (result) {
            $('#sortingRow').parent().html(result);
            LoadSampleDesign();
        }
    });
    return false;
});
_PartialView.cshtml

<table>
    <tr id="sortingRow">
        <th>
            <a href="link">Click Me</a>
        </th>
    </tr>
</table>

我试过JSFIDLE,javascript似乎工作正常。另外,一开始,您可能会认为问题在于jquery找不到表,因为它是在DOM完成后加载的,但这就是我使用“on()”的原因,这不是使它处于活动状态,所以即使在DOM完成后,它也应该能够找到#表。

通过Ajax加载部分视图后,单击事件不再绑定。按如下所示更改行单击事件

$('#sortingRow')。在('click','th a',function(){


是否在部分加载后调用事件处理程序?如果不是,则无法将事件附加到尚未在dom中呈现的元素。在加载的成功函数中,我尝试了以下操作:$('sortingRow').bind('click');当您在此处指定处理程序时:
$('sortingRow')。On('click','th a'
,您确定
#sortingRow
此时已加载到DOM中吗?它需要存在,而
th a
元素不存在。如果我没有弄错,第一个代码段应该在最后一个代码段的后面调用(它在
success
中的意思)。
$(sections).on('click', '#sectionPageLinks a', function () {
    $.ajax({
        url: this.href,
        type: 'GET',
        success: function (result) {
            $('#sectionPageLinks').parent().html(result);
            LoadSampleDesign();
        }
    });
    return false;
});
$(document).on('click', '#sortingRow th a', function () {