首页 > 解决方案 > 媒体查询中的 jQuery 函数未按预期触发

问题描述

我正在学习 jQuery。我正在使用媒体查询。当我缩小浏览器窗口时,所有代码都按预期响应,除了我的嵌套函数(以 开头$( "tr" ).each(function() {)。

如果我缩小窗口刷新页面,嵌套函数按预期触发。

如何在刷新页面的情况下触发所有内容?

function myFunction(x) {
  if (x.matches) { // If media query matches
    $( "tbody tr" ).wrapInner( "<label class='wrapper'></label>" );
    $( ".overdueTicket" ).closest( "tr" ).addClass( "overdue" );
    $( ".paperclip" ).closest( "tr" ).addClass( "paperclip-icon" );
    $( ".paperclip-icon td.osta_ticket" ).append( "<div class='ticket-has-attachement' data-placement='top' data-toggle='tooltip' data-original-title='<?php echo __('Ticket Has Attachment'); ?>'>&nbsp;</div>" );
    $( "tr" ).each(function() {
        var $this = $(this),
            $href = $this.find( ".pull-right "),
            $target = $this.find( "td.osta_ticket" );
        $href.appendTo($target);
    });
  } else {
    $("tbody tr > .wrapper").contents().unwrap();
    $('.overdueTicket').closest('tr').removeClass("overdue");
    $('.paperclip').closest('tr').removeClass("paperclip-icon");
  }
}
var x = window.matchMedia("(max-width: 760px)")
myFunction(x) // Call listener function at run time
x.addListener(myFunction) // Attach listener function on state changes

标签: jquerymedia-queries

解决方案


推荐阅读