Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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
捕获jQuery添加的类上的单击事件_Jquery_Ajax_Onclick - Fatal编程技术网

捕获jQuery添加的类上的单击事件

捕获jQuery添加的类上的单击事件,jquery,ajax,onclick,Jquery,Ajax,Onclick,我是否需要执行任何特殊操作来捕获通过jquery添加到dom的元素的单击事件 我将以下内容添加到dom中: $('.dvPagerCities > .pagination > ul > li > a').addClass("pageCities") 通过chrome在html中显示为 <a class="pageCities">»</a> 第2页,共2页。 » -----------------额外信息-------------

我是否需要执行任何特殊操作来捕获通过jquery添加到dom的元素的单击事件

我将以下内容添加到dom中:

$('.dvPagerCities > .pagination > ul > li > a').addClass("pageCities")
通过chrome在html中显示为

<a class="pageCities">»</a>


  • 第2页,共2页。
  • »
  • -----------------额外信息------------------

    好的,如果我点击链接进入天气页面,然后点击国家并显示该国家的城市列表,然后尝试页面无任何变化,我会得到一个完整的页面刷新

    但若我再次点击页面链接,我会得到警告

    为什么当cities第一次出现并在检测到click之前进行完整的页面更新时,类没有被选中

    如果您的
    .pageCities
    类被添加之前执行,那么
    .click
    方法没有任何可查找的内容,也不会绑定到任何内容。确保先添加
    .pageCities
    ,或使用事件委派:

    $(".dvPagerCities").on('click', '.pageCities', function () {
    

    在添加类之前,您需要将其委托给您可以针对的对象。我想检查一下,在创建元素之后,您必须编写
    javascript代码
    。您添加的是一个类,而不是HTML元素。。。向我们展示您添加它的方式。@writeToBhuwan显示方式为
    。分页
    可能是一个可行的委托,而且它仍然不起作用,我已经更新了我的jquery代码以显示我在做什么。
    
    <script>
        $('.dvPagerCities > .pagination > ul > li > a').addClass("pageCities")
        $(function () {
            $(".getCities").click(function () {
                var city = $(this).text();
                $.ajax({
                    url: '@Url.Action("pvDisplayListOfWeatherCities", "Weather")',
                    type: 'GET',
                    data: { id: $(this).attr("dataCountry")},
                    dataType: 'html',
                    success: function (result) {
                        //alert('Country click detected'),
                        $('Title').text('Cities in ' + city),
                        $('#dvFullPage').remove();
                        $('#dvPartial').html(result);
                    },
                    error: function () {
                        alert("error");
                    }
                });
                return false;
            });
        });
    
    
    </script>
    <script>
        $(function () {
            $('.dvPagerCities').on('click', '.pageCities', function () {
    
                alert('City click detected');
                return false;
            });
        });
    </script>
    
    <div class="dvPagerCities">
    <div class="pagination">
    <ul>
    <li class="PagedList-skipToPrevious">
    <a href="/Weather/Index/Australia?p=1" class="pageCities">«</a>
    </li>
    <li class="disabled PagedList-pageCountAndLocation">
    <a class="pageCities">Page 2 of 2.</a>
    </li>
    <li class="disabled PagedList-skipToNext">
    <a class="pageCities">»</a>
    </li>
    </ul>
    </div>
    </div>
    
    $(".dvPagerCities").on('click', '.pageCities', function () {