javascript

git

python

java

github

django

c#

reactjs

loops

git-remote

terminology

list

local-storage

pandas

performance

system.out

git-reset

regex

email

string-parsing

Chrome和Safari中jQuery UI对话框的滚动条问题

我使用的是带有modal=true的jQuery UI对话框。在Chrome和Safari中,这会禁用通过滚动条和光标键的滚动(使用鼠标滚轮和页面上/下滚动仍然有效)。

如果对话框太高而无法容纳在一页上,这将是一个问题-笔记本电脑上的用户会感到沮丧。

三个月前有人在jQuery Bug跟踪器上提出了这个问题-[http://dev.jqueryui.com/ticket/4671]-似乎不应该解决它。 :)

任何人也是如此:

  1. 有解决办法吗?
  2. 有建议的解决方法可以提供良好的可用性体验?

我正在尝试将mouseover / scrollto用于表单的某些位,但这不是一个很好的解决方案:(

编辑:罗恩·比尼杰(Rowan Beentje)的道具(他不在SO afaict上),以寻求解决方案。 jQuery UI通过捕获mouseup / mousedown事件来防止滚动。 因此,以下代码似乎可以解决此问题:

$("dialogId").dialog({
    open: function(event, ui) {
        window.setTimeout(function() {
            jQuery(document).unbind('mousedown.dialog-overlay')
                            .unbind('mouseup.dialog-overlay');
        }, 100);
    },
    modal: true
});

使用时,后果自负,我不知道解除绑定这些东西可能会导致哪些其他非模态行为。

trans by 2020-08-12T07:19:37Z

jQuery无法与IE 11一起使用

Object doesn't support property or method 'addEventListener'

'jQuery' is undefined 

我正在使用IE 11

/jQuery-2.1.1.民.就是

jquery-migrate-1.1.1.js

和jquery-ui-1.11.0.custom / jquery-ui.js(主题栏)

在2.1.1之前,我使用的是带铬的1.11.1(效果很好)

我已经尝试过此修复程序,但对我不起作用

trans by 2020-08-12T06:09:04Z

jQuery-仅从di删除文本内容

是否可以仅从div中删除文本内容,即保持所有其他元素完整并且仅删除直接位于div内部的文本?

trans by 2020-08-12T01:53:52Z

javascript-无法加载资源:net :: ERR_CONTENT_LENGTH_MISMATCH

此错误消息是什么意思,我该如何解决? 这是从Windows 7上的Google Chrome v33.0控制台获得的。

无法加载资源:net :: ERR_CONTENT_LENGTH_MISMATCH [http://and.img.url/here.png]

我正在尝试使用jQuery更改图像的src属性。 例如这样(简化):

$('.image-prld').attr('src', someDynamicValue);

页面上大约有30张图像。 每当我重新加载页面时,随机图像都会发生上述错误。 但是有时它对于所有图像都运行良好,没有任何错误。

发生此错误时,特定的图像显示如下:

enter image description here

但是,当我在新选项卡上打开错误消息旁边的链接时,图像正在加载,这从逻辑上说图像是有效的并且存在。

trans by 2020-08-11T19:03:30Z

ajax-如何使用jquery $ .get()发送参数

我正在尝试做一个jQuery GET,我想发送一个参数。

这是我的功能:

$(function() {
    var availableProductNames;
    $.get("manageproducts.do?option=1", function(data){
        availableProductNames = data.split(",");;
        alert(availableProductNames);
        $("#nameInput").autocomplete({
            source: availableProductNames
        });
    });
});

这似乎行不通; 当我使用request.getParameter("option")时,我的servlet中为空;

如果我在浏览器[http://www.myite.com/manageproducts.do?option=1]中输入链接,则可以正常运行。

我也尝试过:

$.get(
    "manageproducts.do?",
    {option: "1"},
    function(data){}

这也不起作用。

你能帮我么?

编辑:

也尝试过

       $.ajax({
      type: "GET",
      url: "manageproducts.do",
     data: "option=1",
     success: function(msg){
        availableProductNames = msg.split(",");
        alert(availableProductNames);
        $("#nameInput").autocomplete({
        source: availableProductNames
    });   
     }
      });

仍然得到相同的结果。

trans by 2020-08-11T18:54:26Z

使用jQuery .animate从右到左为div设置动画?

我有一个绝对位于3007020488058209209和right: 0px的div,我想使用jquery的.animate()将其从当前位置动画化为left: 0px。这是怎么做的? 我似乎无法使它正常工作:

$("#coolDiv").animate({"left":"0px"}, "slow");

为什么这项工作不起作用?如何完成我想要做的事情?

谢谢!!

trans by 2020-08-11T18:21:42Z

Javascript-如何使用XHR onProgress函数使用压缩/压缩的内容?

我已经看到过很多与此类似的问题,但是我还没有找到一个准确描述我当前问题的问题,所以去了:

我有一个页面可以通过AJAX加载一个较大的(0.5到10 MB之间)JSON文档,以便客户端代码可以对其进行处理。 加载文件后,我不会遇到任何意外的问题。 但是,下载需要很长时间,因此我尝试利用XHR Progress API渲染进度条,以向用户指示文档正在加载。 这很好。

然后,为了加快速度,我尝试通过gzip和deflate在服务器端压缩输出。 这项工作也取得了很大的收获,但是,我的进度栏停止了工作。

我已经研究了一段时间,发现如果未使用请求的AJAX资源发送正确的onProgress标头,则Content-Type事件处理程序将无法正常运行,因为它不知道下载过程有多远 。 发生这种情况时,在事件对象上将名为lengthComputable的属性设置为false

这很有意义,所以我尝试使用输出的未压缩和压缩长度显式设置标头。 我可以验证是否正在发送标头,也可以验证我的浏览器知道如何解压缩内容。 但是onProgress处理程序仍报告Content-Type

所以我的问题是:是否可以使用AJAX Progress API压缩/缩小内容? 如果是这样,我现在在做什么错?


这是资源在“ Chrome网络”面板中的显示方式,表明压缩正在进行中:

network panel

这些是相关的请求标头,显示请求为AJAX,并且已正确设置onProgress

GET /dashboard/reports/ajax/load HTTP/1.1
Connection: keep-alive
Cache-Control: no-cache
Pragma: no-cache
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.99 Safari/537.22
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

这些是相关的响应标头,显示onProgressContent-Type的设置正确:

HTTP/1.1 200 OK
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Content-Encoding: deflate
Content-Type: application/json
Date: Tue, 26 Feb 2013 18:59:07 GMT
Expires: Thu, 19 Nov 1981 08:52:00 GMT
P3P: CP="CAO PSA OUR"
Pragma: no-cache
Server: Apache/2.2.8 (Unix) mod_ssl/2.2.8 OpenSSL/0.9.8g PHP/5.4.7
X-Powered-By: PHP/5.4.7
Content-Length: 223879
Connection: keep-alive

对于它的价值,我已经在标准(http)和安全(https)连接上进行了尝试,没有任何区别:内容在浏览器中可以很好地加载,但是Progress API不会对其进行处理。


根据Adam的建议,我尝试将服务器端切换为gzip编码,但没有成功或更改。 以下是相关的响应标头:

HTTP/1.1 200 OK
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Content-Encoding: gzip
Content-Type: application/json
Date: Mon, 04 Mar 2013 22:33:19 GMT
Expires: Thu, 19 Nov 1981 08:52:00 GMT
P3P: CP="CAO PSA OUR"
Pragma: no-cache
Server: Apache/2.2.8 (Unix) mod_ssl/2.2.8 OpenSSL/0.9.8g PHP/5.4.7
X-Powered-By: PHP/5.4.7
Content-Length: 28250
Connection: keep-alive

只是重复一遍:内容正在正确下载和解码,这只是我遇到问题的进度API。


根据Bertrand的要求,这是要求:

$.ajax({
    url: '<url snipped>',
    data: {},
    success: onDone,
    dataType: 'json',
    cache: true,
    progress: onProgress || function(){}
});

这是我正在使用的onProgress事件处理程序(不太疯狂):

function(jqXHR, evt)
{
    // yes, I know this generates Infinity sometimes
    var pct = 100 * evt.position / evt.total;

    // just a method that updates some styles and javascript
    updateProgress(pct);
});
trans by 2020-08-11T11:29:57Z

jQuery,找到父项

<ul><li><div><div><span id="thisid"></span></div></div></li></ul>

$('#thisid').parent('li');

那显然是行不通的,但是我该如何获取li元素呢? 我不想使用:

$('#this').parent().parent().parent();

我不想使用它,因为有可能只有一个div元素,而不是两个。 在这种情况下,我将获取ul元素而不是li元素。

trans by 2020-08-11T10:21:27Z

如何使用jquery或ajax为MVC项目在c#/ asp.net中更新razor部分视图

在MVC部分视图文件中,我构建了一个Html.TextBox和两个提交按钮。 单击这两个按钮将增加/减少Html.TextBox值。 Html.TextBox显示的值将相应地更改。但是,一旦我需要单击后根据新值更新#refTable div。 页面或部分从未更新。 下面是代码,其中添加了一些注释以用于说明。 谢谢你的帮助。

// ******* cshtml文件********** //

<body>
</body>

<input type="submit" value="PrevY" name="chgYr2" id="pY" />
@{
    var tempItem3 = Model.First(); // just give the first entry from a database, works.
    if (ViewData["curSel"] == null)
    {
    @Html.TextBox("yearSelect3", Convert.ToDateTime(tempItem3.Holiday_date).Year.ToString());  
    ViewBag.selYear = Convert.ToDateTime(tempItem3.Holiday_date).Year; // just initial value, works
    ViewData["curSel"] = Convert.ToDateTime(tempItem3.Holiday_date).Year;
    }
    else
    {
    @Html.TextBox("yearSelect3", ViewData["curSel"].ToString());
    } 
}
<input type="submit" value="NextY" name="chgYr2" id="nY" />


<script type="text/javascript">
    $(document).ready(function () {
        $(document).on("click", "#nY", function () {
            var val = $('#yearSelect3').val();
            $('#yearSelect3').val((val * 1) + 1);
            var dataToSend = {
                id: ((val * 1) + 1)
            }
            // add some jquery or ajax codes to update the #refTable div
            // also ViewBag.selYear need to be updated as ((val * 1) + 1)
            // like:   ViewBag.selYear = ((val * 1) + 1);
            // any similar temp variable is fine
        });

        });
        $(document).on("click", "#pY", function () {
            var val = $('#yearSelect3').val();
            $('#yearSelect3').val((val * 1) - 1);
            var dataToSend = {
                id: ((val * 1) - 1)
            }

        });
    });
</script>



<span style="float: right"><a href="/">Set Holiday Calender for 2013</a></span>
<span id="btnAddHoliday">@Html.ActionLink("Add Holiday", "Create", null, new { id = "addHilBtn" })</span>

<div id="refTable">
    <table class="tblHoliday" style="width: 100%;">
            <th>
                Holiday
            </th>
            <th>
                Dates
            </th>
            <th>Modify</th>
            <th>Delete</th>
        </tr>

        @foreach (var item in Model)
        {

            if (    Convert.ToDateTime(item.Holiday_date).Year == ViewBag.selYear)
            // if the ViewBag.selYear is hard code, this selection "works"
            {
            <tr>                
                <td>
                    @Html.DisplayFor(modelItem => item.Holiday_Name)
                </td>               
                <td>
                    @item.Holiday_date.Value.ToString("MM/dd/yyyy")
                </td>
                <td>
                    @Html.ActionLink("Edit", "Edit", new {  })
                </td>
                <td>
                    @Html.ActionLink("Delete", "Delete", new {  })
                </td>
            </tr>
            }
        }

    </table>
</div>
trans by 2020-08-11T09:38:01Z

javascript-Bootstrap 3 datetimepicker事件未触发

我正在使用Bootstrap 3 DateTimePicker,并且正在尝试示例8(链接的datetimepicker)。

Java脚本

$('#dpStart').datetimepicker({
     pickDate: true,                 //en/disables the date picker
     pickTime: false,
     format: "DD-MM-YYYY",
     useMinutes: false,               //en/disables the minutes picker
     useSeconds: false
});

$('#dpEnd').datetimepicker({
     pickDate: true,                 //en/disables the date picker
     pickTime: false,
     format: "DD-MM-YYYY",
     useMinutes: false,               //en/disables the minutes picker
     useSeconds: false
});

$("#dpStart").on("dp.change", function(e) {
     alert('hey');
     $('#dpEnd').data("DateTimePicker").setMinDate(e.date);
});

$("#dpEnd").on("dp.change", function(e) {
     $('#dpStart').data("DateTimePicker").setMaxDate(e.date);
});

的HTML

<div class="row">
  <div class="col-md-6 col-sm-6 form-group">
    <label for="txtStartDate">
      Start Date-Time</label>
    <div class="input-group date" id="dpStart" data-date-format="DD-MM-YYYY">
      <asp:TextBox ID="txtStartDate" runat="server" CssClass="form-control"></asp:TextBox>
      <span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span>
      </span>
    </div>
  </div>
  <div class="col-md-6 col-sm-6 form-group">
    <label for="txtEndDate">
      End Date-Time</label>
    <div class="input-group date" id="dpEnd" data-date-format="DD-MM-YYYY">
      <asp:TextBox ID="txtEndDate" runat="server" CssClass="form-control"></asp:TextBox>
      <span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span>
      </span>
    </div>
  </div>
</div>

日历根据需要显示,但是诸如dp.change,dp.hide和dp.show之类的事件未启动。.可能是什么问题? 有什么帮助吗?

编辑:请注意,我已经包含了所有必要的文件,例如Bootstrap js,bootstrap css,Moment.js和datetimepicker js和css文件。

trans by 2020-08-11T09:01:43Z

javascript-在jQuery中的单个按键事件上检测多个按键

是否有可能结合按键的组合来触发单个事件?

$(document).keyup(function(e){
    if (e.keyCode == 68 && e.keyCode == 69 && e.keyCode == 86) {
        alert('oh hai');
    }
});

我已经在Chrome浏览器中尝试过,但该事件不会触发。

称我为疯狂,但我正在编写Chrome扩展程序,并希望将D + E + V键组合在一起以强制其进入隐藏的开发人员模式。

trans by 2020-08-11T07:44:03Z

javascript-如何从当前页面动态删除样式表

有没有办法从页面中动态删除当前样式表?

例如,如果页面包含:

<link rel="stylesheet" type="text/css" href="http://..." />

...是否有一种方法可以稍后用JavaScript禁用它? 使用jQuery的额外要点。

trans by 2020-08-11T07:16:52Z

Javascript-如何使window.showmodaldialog在chrome 37中工作?

我们有一个庞大的Web应用程序,使用window.showmodaldialog进行警报,确认和弹出窗口。 从Chrome 37版开始,此呼叫已被禁用。

有什么快速的解决方法可以使window.showmodaldialog在最新版本的Chrome中工作?

我在这里添加window.showmodaldialog的变通办法,尽管这不是一个完美的变通办法,因为这不会像showmodaldialog那样破坏代码执行,而是将打开弹出窗口。

window.showModalDialog = function (url, arg, feature) {
        var opFeature = feature.split(";");
       var featuresArray = new Array()
        if (document.all) {
           for (var i = 0; i < opFeature.length - 1; i++) {
                var f = opFeature[i].split("=");
               featuresArray[f[0]] = f[1];
            }
       }
        else {

            for (var i = 0; i < opFeature.length - 1; i++) {
                var f = opFeature[i].split(":");
               featuresArray[f[0].toString().trim().toLowerCase()] = f[1].toString().trim();
            }
       }



       var h = "200px", w = "400px", l = "100px", t = "100px", r = "yes", c = "yes", s = "no";
       if (featuresArray["dialogheight"]) h = featuresArray["dialogheight"];
        if (featuresArray["dialogwidth"]) w = featuresArray["dialogwidth"];
       if (featuresArray["dialogleft"]) l = featuresArray["dialogleft"];
        if (featuresArray["dialogtop"]) t = featuresArray["dialogtop"];
        if (featuresArray["resizable"]) r = featuresArray["resizable"];
       if (featuresArray["center"]) c = featuresArray["center"];
      if (featuresArray["status"]) s = featuresArray["status"];
        var modelFeature = "height = " + h + ",width = " + w + ",left=" + l + ",top=" + t + ",model=yes,alwaysRaised=yes" + ",resizable= " + r + ",celter=" + c + ",status=" + s;

        var model = window.open(url, "", modelFeature, null);

       model.dialogArguments = arg;

    }

只需将这段代码放在页面的开头。

trans by 2020-08-11T05:51:39Z

排序-在jQuery中订购<UL> / <OL>的最简单方法是什么?

我正在寻找一些示例代码,这些代码将按字母顺序对HTML列表中的列表项进行排序。 有人可以帮忙吗?

这是供人们使用的示例列表:

<ul class="alphaList">
    <li>apples</li>
    <li>cats</li>
    <li>bears</li>
</ul>
trans by 2020-08-11T04:50:54Z

javascript-可缩放元素上可缩放元素的准确下降

问题

我在将元素拖到可伸缩div容器上时遇到了一个小问题。

一旦元素实际位于容器中,这些元素就可以正常拖动并按应有的方式工作。

拖到可伸缩容器上的较大元素不会有太大问题。

但是,当拖动较小的元素时,您会看到鼠标不再与该元素连接,当鼠标放下时,鼠标会从应该放下的位置掉落一点。

我试图找到一种解决方案,使鼠标停留在元素上,并且将其放置在应该放置的位置。

我已经一点点解决了问题,您可以在下面看到,但这是使我生气的难题的最后一部分。 如果有人有时间伸出援助之手,将不胜感激。

这是一个Codepen-单击并拖动两个蓝色元素到白色容器中进行尝试

码笔

全萤幕检视

简短的GIF动作


这将有助于确保可放置区域可与缩放容器一起使用。

$.ui.ddmanager.prepareOffsets = function(t, event) {
  var i, j, m = $.ui.ddmanager.droppables[t.options.scope] || [],
    type = event ? event.type : null,
    list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack();
  droppablesLoop: for (i = 0; i < m.length; i++) {
    if (m[i].options.disabled || (t && !m[i].accept.call(m[i].element[0], (t.currentItem || t.element)))) {
      continue;
    }
    for (j = 0; j < list.length; j++) {
      if (list[j] === m[i].element[0]) {
        m[i].proportions().height = 0;
        continue droppablesLoop;
      }
    }
    m[i].visible = m[i].element.css("display") !== "none";
    if (!m[i].visible) {
      continue;
    }
    if (type === "mousedown") {
      m[i]._activate.call(m[i], event);
    }
    m[i].offset = m[i].element.offset();
    m[i].proportions({
      width: m[i].element[0].offsetWidth * percent,
      height: m[i].element[0].offsetHeight * percent
    });
  }
};

使元素在缩放容器上可调整大小

function resizeFix(event, ui) {
  var changeWidth = ui.size.width - ui.originalSize.width,
    newWidth = ui.originalSize.width + changeWidth / percent,
    changeHeight = ui.size.height - ui.originalSize.height,
    newHeight = ui.originalSize.height + changeHeight / percent;
  ui.size.width = newWidth;
  ui.size.height = newHeight;
}

使其在缩放容器上起作用

function dragFix(event, ui) { 
    var containmentArea = $("#documentPage_"+ui.helper.parent().parent().attr('id').replace(/^(\w+)_/, "")),
        contWidth = containmentArea.width(), contHeight = containmentArea.height();
    ui.position.left = Math.max(0, Math.min(ui.position.left / percent , contWidth - ui.helper.width()));
    ui.position.top = Math.max(0, Math.min(ui.position.top  / percent,  contHeight- ui.helper.height()));
}

创建一个可以拖动到框上的可拖动元素。

.directive('draggableTypes', function() {
  return {
    restrict:'A',
    link: function(scope, element, attrs) {
      element.draggable({
        zIndex:3000, 
        appendTo: 'body', 
        helper: function(e, ui){ 
          var formBox = angular.element($("#formBox"));
          percent = formBox.width() / scope.templateData.pdf_width;
          if(element.attr('id') == 'textbox_item')
              return $('<div class="text" style="text-align:left;font-size:14px;width:200px;height:20px;line-height:20px;">New Text Box.</div>').css({ 'transform': 'scale(' + percent + ')', '-moz-transform': 'scale(' + percent + ')', '-webkit-transform': 'scale(' + percent + ')', '-ms-transform': 'scale(' + percent + ')'});
          if(element.attr('id') == 'sm_textbox_item')
              return $('<div class="text" style="text-align:left;font-size:14px;width:5px;height:5px;line-height:20px;"></div>').css({ 'transform': 'scale(' + percent + ')', '-moz-transform': 'scale(' + percent + ')', '-webkit-transform': 'scale(' + percent + ')', '-ms-transform': 'scale(' + percent + ')'});
          }
      });
    }
  };
})

创建可能已经在框中的可拖动/可调整大小的元素,并将拖动/调整大小的修复方法应用于这些元素

.directive('textboxDraggable', function() {
  return {
    restrict:'A',
    link: function(scope, element, attrs) {

        element.draggable({ 
            cursor: "move",
            drag: dragFix,
            start: function(event, ui) {
                var activeId = element.attr('id');
                scope.activeElement.id = activeId;
                scope.activeElement.name = scope.templateItems[activeId].info.name;
                scope.$apply();
            }
        });

        element.resizable({
            minWidth: 25,
            minHeight: 25,
            resize: resizeFix,
            stop: function( event, ui ) {

                var activeId = element.attr('id');

                scope.activeElement.duplicateName = false;
                scope.activeElement.id = activeId;
                scope.activeElement.name = scope.templateItems[activeId].info.name;

                scope.templateItems[activeId]['style']['width'] = element.css('width');
                scope.templateItems[activeId]['style']['height'] = element.css('height');

                scope.$apply();
            }
        })

    }
  };
})

放下物品时会发生什么

.directive('droppable', function($compile) {
  return {
    restrict: 'A',
    link: function(scope,element,attrs){
        element.droppable({
            drop:function(event,ui) {
                 var draggable = angular.element(ui.draggable),
                    draggable_parent = draggable.parent().parent(),
                    drag_type = draggable.attr('id'),
                    documentBg = element,
                    x = ui.offset.left,
                    y = ui.offset.top,
                    element_top = (y - documentBg.offset().top - draggable.height() * (percent - 1) / 2) / percent,
                    element_left = (x - documentBg.offset().left - draggable.width() * (percent - 1) / 2) / percent,
                    timestamp = new Date().getTime();

                    //just get the document page of where the mouse is if its a new element
                    if(draggable_parent.attr('id') == 'template_builder_box_container' || draggable_parent.attr('id') == 'template_builder_container')
                        var documentPage = documentBg.parent().parent().attr('id').replace(/^(\w+)_/, "");
                    //if you are dragging an element that was already on the page, get parent of draggable and not parent of where mouse is
                    else var documentPage = draggable_parent.parent().parent().attr('id').replace(/^(\w+)_/, "");

                    if(drag_type == "textbox_item")
                    {
                        scope.activeElement.id = scope.templateItems.push({
                            info: {'page': documentPage,'name': 'textbox_'+timestamp, 'type': 'text'},
                            style: {'text-align':'left','font-size':'14px','top':element_top+'px','left':element_left+'px', 'width':'200px', 'height':'20px'}
                        }) - 1;

                        scope.activeElement.name = 'textbox_'+timestamp;
                    }
                    else if(drag_type == "sm_textbox_item")
                    {
                        scope.activeElement.id = scope.templateItems.push({
                            info: {'page': documentPage,'name': '', 'type': 'text'},
                            style: {'text-align':'left','font-size':'14px','top':element_top+'px','left':element_left+'px', 'width':'5px', 'height':'5px'}
                        }) - 1;

                        scope.activeElement.name = 'textbox_'+timestamp;
                    }
                    else {
                        scope.templateItems[scope.activeElement.id]['style']['top'] = draggable.css('top');
                        scope.templateItems[scope.activeElement.id]['style']['left'] = draggable.css('left');
                    }

                scope.$apply();
            }
        });
    }
  };
})

最后但并非最不重要的是,我的控制器

.controller('testing', function($scope, $rootScope, $state, $stateParams) {
  $scope.templateItems = [];
  $scope.activeElement = { id: undefined, name: undefined };
  $scope.templateData = {"id":"12345", "max_pages":1,"pdf_width":385,"pdf_height":800};
  $scope.clickElement = function(index)   { $scope.activeElement = { id: index, name: $scope.templateItems[index].info.name } }

});

这是我的HTML的基础

<div id="formBox" ng-style="formbox(templateData.pdf_width)" zoom>
    <div class="trimSpace" ng-style="trimSpace(templateData.pdf_width)" zoom>
        <div id="formScale" ng-style="formScale(templateData.pdf_width)" zoom>
            <form action="#" id="{{ templateData.id }}_form">
                <div ng-repeat="key in [] | range:templateData.max_pages">              
                    <div class="formContainer" id="{{ templateData.id + '_' + (key+1) }}" ng-style="{width: templateData.pdf_width+'px', height: templateData.pdf_height+'px'}">
                        <div class="formContent">
                            <div class="formBackground" id="documentPage_{{ (key+1) }}" droppable>
                                <div ng-hide="preview" ng-repeat="item in templateItems">
                                    <div ng-if="item.info.page == (key+1) && item.info.type == 'text'" id="{{ $index }}" data-type="{{ item.info.type }}" ng-click="clickElement($index)" class="text" ng-style="item.style" textbox-draggable>{{ item.info.name }}</div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>          
            </form>
        </div>
    </div>
</div>
trans by 2020-08-11T02:52:35Z

如何在jQuery / Javascript中将变量传递给正则表达式

有没有一种方法可以将变量传递到jQuery / Javascript中的正则表达式中?

我想做类似的事情:

var variable_regex = "bar";
var some_string = "foobar";

some_string.match(/variable_regex/);

在Ruby中,您可以执行以下操作:

some_string.match(/#{variable_regex}/)

找到了一个有用的帖子:

如何在JavaScript中连接正则表达式文字?

trans by 2020-08-11T01:59:35Z

表单-jQuery切换事件使复选框值混乱

当用户单击复选框时,我正在使用Jquery的toggle事件执行一些操作,例如:

$('input#myId').toggle(
function(){
//do stuff  
},
function(){
//do other stuff    
}
);

问题是当我单击复选框时,该复选框没有被打勾。 (我在切换事件中添加的所有内容均正常运行。)

我尝试了以下方法:

$('input#myId').attr('checked', 'checked');

$(this).attr('checked', 'checked');

甚至简单

return true;

但是什么都没有用。 谁能告诉我我要去哪里错了?

编辑-感谢所有答复。 Dreas的回答几乎对我有用,除了检查属性的那一部分。 完美运行(尽管有点笨拙)

$('input#myInput').change(function ()
{
    if(!$(this).hasClass("checked"))
    {
        //do stuff if the checkbox isn't checked
        $(this).addClass("checked");
        return;
    }

    //do stuff if the checkbox isn't checked
    $(this).removeClass('checked');
});

再次感谢所有答复。

trans by 2020-08-11T01:45:36Z

javascript-使用tim进行Jquery / Ajax调用

我有一个php页面,可回显数据库中的行。 我想每30秒通过jquery / ajax调用一次。 但是我还希望能够随时调用该页面,以便如果我通过表单添加记录,则在表单提交后,我希望通过ajax通过调用页面来立即更新结果。 谁能指出我正确的方向或提供一些基本代码,以便我设法找出答案? 对于jquery / ajax还是很新的。

trans by 2020-08-11T01:17:11Z

javascript-ember.js和s

我正在查看Ember.js,并一直在阅读文档以尝试了解如何使用它。 除了一件事,我理解得很好。 用我在MVC模式中的思考方式,模型是应用程序中数据的存储库。 我可以在Ember.js中看到它如何用于客户端数据。 我没有得到的是如何将数据绑定到服务器,以便如果客户端上的数据发生更改,则更改将在服务器中更新。 反之亦然。 我一直在通过在Web应用程序中进行来回往返于服务器的Ajax / JSON调用来做到这一点,而我只是不了解如何使用Ember.js来做到这一点。

trans by 2020-08-11T01:06:16Z

javascript-Google Chrome扩展程序-脚本注入

我正在尝试使用上述以前的答案作为参考,以使我的Chrome扩展程序注入带有content_scripts的一些JavaScript。

manifest.json

"name": "My Chrome Extension",
"version": "1.0",
"manifest_version": 2,
"content_scripts": [{
    "matches": ["http://pagetoinject/script/into/*"],
    "js": ["contentscript.js"]
}]  

contenscript.js:

var s = document.createElement('script');
s.src = chrome.extension.getURL("script.js");
(document.head||document.documentElement).appendChild(s);
s.parentNode.removeChild(s);

(也尝试过此方法,但没有成功。)

var s = document.createElement('script');
s.src = chrome.extension.getURL("script.js");
s.onload = function() {
    this.parentNode.removeChild(this);
};
(document.head||document.documentElement).appendChild(s);

我不断收到此JavaScript错误。 这是屏幕截图。

enter image description hereGET chrome-extension://invalid/ (anonymous function)

trans by 2020-08-10T23:34:18Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共154页