小编Kru*_*cha的帖子

使用AngularJS按Enter键提交表单

在这种特殊情况下,当我按Enter键时,我有什么选项可以让这些输入调用一个函数?

// HTML view //
<form>
    <input type="text" ng-model="name" <!-- Press ENTER and call myFunc --> />
    <br />
    <input type="text" ng-model="email" <!-- Press ENTER and call myFunc --> />
</form>

// Controller //
.controller('mycontroller', ['$scope',function($scope) {
    $scope.name = '';
    $scope.email = '';
    // Function to be called when pressing ENTER
    $scope.myFunc = function() {
       alert('Submitted');
    };
}])
Run Code Online (Sandbox Code Playgroud)

enter function keypress call angularjs

361
推荐指数
7
解决办法
37万
查看次数

滚动DIV元素时如何防止页面滚动?

我已经审查并测试了各种功能,以防止身体在div内部滚动,并结合了应该起作用的功能.

$('.scrollable').mouseenter(function() {
    $('body').bind('mousewheel DOMMouseScroll', function() {
        return false;
    });
    $(this).bind('mousewheel DOMMouseScroll', function() {
        return true;
    });
});
$('.scrollable').mouseleave(function() {
    $('body').bind('mousewheel DOMMouseScroll', function() {
        return true;
    });
});
Run Code Online (Sandbox Code Playgroud)
  • 这是停止所有滚动,因为我想在容器内仍然可以滚动
  • 鼠标离开时也不会停用此功能

这样做有什么想法或更好的方法吗?

jquery mousewheel

90
推荐指数
4
解决办法
11万
查看次数

使用DELETE请求发送正文的干净方法是什么?

我需要使用$ resource发送一个带有DELETE请求的请求体

我能看到这样做的唯一方法就是改变:

https://github.com/angular/angular.js/blob/master/src/ngResource/resource.js

var hasBody = action.method == 'POST' || action.method == 'PUT' || action.method == 'PATCH';
Run Code Online (Sandbox Code Playgroud)

var hasBody = action.method == 'POST' || action.method == 'PUT' || action.method == 'PATCH' || action.method == 'DELETE';
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来覆盖这个?就像改变内容类型标题一样,您可以这样做:

$httpProvider.defaults.headers["delete"] = {'Content-Type': 'application/json;charset=utf-8'};
Run Code Online (Sandbox Code Playgroud)

或类似的东西......我用谷歌搜索了这个,但也许我错过了一些明显的东西(不是第一次).在此先感谢您的帮助.

javascript angularjs angular-resource

23
推荐指数
1
解决办法
3万
查看次数

在HTML表中显示JSON数据

我从服务器获取以下JSON字符串作为响应

[{"city":"AMBALA","cStatus":"Y"},{"city":"ASANKHURD","cStatus":"Y"},{"city":"ASSANDH","cStatus":"Y"}]
Run Code Online (Sandbox Code Playgroud)

这是我的Jquery代码

$('#search').click(function() {
    alert("submit handler has fired");
    $.ajax({
        type: 'POST',
        url: 'cityResults.htm',
        data: $('#cityDetails').serialize(),
        success: function(data){ 
            alert(data);    
        },
        error: function(jqXHR, textStatus, errorThrown){
            alert('error: ' + textStatus + ': ' + errorThrown);
        }
    });
    return false;//suppress natural form submission
});
Run Code Online (Sandbox Code Playgroud)

警报正确显示JSON字符串.现在我想将此响应映射到我的表

我怎样才能做到这一点 ??

jquery spring-mvc

21
推荐指数
1
解决办法
16万
查看次数

如何使用ng-repeat在JSON中迭代数组数组?

我试图迭代一个JSON对象userTypes.
对于以下代码:

在第1 ng-repeat:
{{user.type}}输出'Parent'(如预期的那样),
{{user.options}}输出'[{"option1":"11QWERT","option2":"22QWERT"}]'(如预期的那样).

但在第二ng-repeat,我无法迭代user.options并输出每一个{{options}}

什么应该改变,以获得第二个option1option2作为输出 ng-repeat

JS片段

var userTypes = [{
    "type": 'Parent',
    "options": [{
        "option1": "11QWERT",
        "option2": "22QWERT"
    }]
}]
Run Code Online (Sandbox Code Playgroud)

HTML片段

<li ng-repeat="user in userTypes">
    <p>{{user.type}}</p>
    <p>{{user.options}}</p>
    <li ng-repeat="option in user.options">
        <p>
            {{option}}
        </p>
    </li>
</li>
Run Code Online (Sandbox Code Playgroud)

arrays json angularjs angularjs-ng-repeat

15
推荐指数
1
解决办法
2万
查看次数

从上次进度中恢复Vimeo视频

我在我的网站主页上有一个嵌入式Vimeo视频,当网站加载时设置为自动播放.我也在使用api和froogaloop.js一些自定义控件.

我需要做的是节省视频访问导航到另一个页面时的时间,然后在他们返回主页时从这一点继续播放.

我知道我可以playProgress用来获得时间,但我不知道如何存储这个以及如何在访问者返回主页时使用它.

编辑

我现在有以下代码,并使用js-cookie来存储进度cookie.我将如何得到的值playProgress,并使用其设置为一个cookie beforeunloadwindow?我在javascript上不是很好,所以帮助会很棒!

JAVASCRIPT(也包括这个库https://github.com/js-cookie/js-cookie)

$(function() {
    var iframe = $('#player1')[0];
    var player1 = $f(iframe);
    var status1 = $('.status1');

// When the player is ready, add listener for playProgress
    player1.addEvent('ready', function() {
        status1.text('ready');
        player1.addEvent('playProgress', onPlayProgress);
    });

    function onPlayProgress(data, id) {
        status1.text(data.seconds + ' seconds played');
    };

    // SETTING A COOKIE
    Cookies.set('timeElapsed','something');
});
Run Code Online (Sandbox Code Playgroud)

HTML

<script src="https://f.vimeocdn.com/js/froogaloop2.min.js"></script>
<div class="videoholder">
    <h3>Player 1</h3>
    <iframe id="player1" src="https://player.vimeo.com/video/142216434?api=1&player_id=player1" width="500" height="281" frameborder="0" webkitallowfullscreen mozallowfullscreen …
Run Code Online (Sandbox Code Playgroud)

javascript jquery vimeo vimeo-api

15
推荐指数
1
解决办法
1908
查看次数

sinon.js对websocket应用程序的单元测试

我试图使用sinon.js对Web套接字应用程序进行单元测试,

sinon的 github上的一个用户做了这个,但我无法理解它如何帮助单元测试websocket应用程序来验证发送到假服务器的接收数据.

var dummySocket = { send : sinon.spy()};
sinon.stub(window, 'WebSocket').returns(dummySocket);
dummySocket = new WebSocket('ws://html5rocks.websocket.org/echo');
dummySocket.onopen();
dummySocket.onmessage(JSON.stringify({ hello : 'from server' }));
// You can assert whether your code sent something to the server like this:
sinon.assert.calledWith(dummySocket.send, '{"the client":"says hi"}');
Run Code Online (Sandbox Code Playgroud)

我的问题是

  • 如何从虚假服务器接收早先发送到服务器的相同数据.
  • 如何使用send假套接字对象的方法将数据发送到假服务器(例如: - socket.send())?
  • 如何从服务器上获取数据 dummySocket.onmessage = function (msg){}

使用sinon.js,我无法获得任何进程来创建假的websocket对象,如假XMLHttpRequestserver分别使用useFakeXMLHttpRequest()fakeServer.create()

在sinon.js上有没有实现这个的过程?

javascript sockets unit-testing websocket sinon

14
推荐指数
1
解决办法
2731
查看次数

使用json对象填充下拉列表

我已经设法使用json对象填充我的下拉菜单,该工作正常.目前我正在尝试根据从下拉列表中选择的选项显示隐藏div中的图像.由于json对象填充了下拉列表,我将如何检索图像数据.

HTML

<form>
    <fieldset id="autoHeight">
        <legend>pod</legend>
        <h2>Cars</h2>
        <select name="drop_down" id="dropDownCars">
            <option value="None" selected="Selected">Select type</option>
        </select>
    </fieldset>
</form>
<div id="showBmw" class="hidden">
    <a href="http://cdn.iphoneincanada.ca/wp-content/uploads/2012/08/white-bmw.jpg"></a>
</div>
Run Code Online (Sandbox Code Playgroud)

JSON文件

{
    Cars: [{
        "CarType": "BMW",
        "carID": "bmw123"
    }, {
        "CarType": "mercedes",
        "carID": "merc123"
    }, {
        "CarType": "volvo",
        "carID": "vol123r"
    }, {
        "CarType": "ford",
        "carID": "ford123"
    }]
}
Run Code Online (Sandbox Code Playgroud)

这是我使用jquery填充下拉菜单的方法.

$(document).ready(function() {
    $.getJSON("../cars.json", function(obj) {
        $.each(obj.cars, function(key, value) {
            $("#dropDownCars").append("<option>" + value.carsName + "</option>");
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

在jfiddle的任何工作示例,将非常感谢!谢谢.

jquery json drop-down-menu

11
推荐指数
2
解决办法
7万
查看次数

自动滚动angularjs

嗨,我正在创建一个带有angularjs的聊天应用程序,当用户向另一个用户发送消息时,它会自动向下滚动.我不知道如何实现这个,因为我的聊天窗口是一个固定的ul元素.我想我需要实现一个指令来执行此操作(在ul元素上使用inboxmsg-scroll)

有帮助吗?谢谢.

HTML

<ul class="chatting-window" inboxmsg-scroll>
    <li data-ng-repeat="messageinfo in messages">
        <div class="message-date">
            {{messageinfo[0]}}
        </div>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

javascript jquery autoscroll angularjs angularjs-directive

9
推荐指数
1
解决办法
1万
查看次数

检查Angular中是否选中了复选框

如何检查此Angular示例中是否选中/选中了复选框?因此,当用户选择/选中第一个复选框我想要得到真正的,当取消选择/取消选中它,我想.

angular.module('app', [])
  .controller('Controller', function($scope) {
    $scope.toggleSelection = function toggleSelection() {
      // how to check if checkbox is selected or not

    };
  })
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="Controller">
  <h1>Get checkbox selection (true/false)</h1>
  <label>
    <input id="one" type="checkbox" ng-click="toggleSelection()">This
  </label>
  <br>
  <label>
    <input type="checkbox" ng-click="toggleSelection()">That
  </label>
  <br>
  <label>
    <input type="checkbox" ng-click="toggleSelection()">Lorem
  </label>
  <br>
  <label>
    <input type="checkbox" ng-click="toggleSelection()">Ipsum
  </label>
</div>
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

8
推荐指数
2
解决办法
3万
查看次数