小编Mdd*_*Mdd的帖子

对象键中的@符号

我不知道发布这个问题的适当位置,但我正在阅读Marionette文档,并在描述时看到以下代码

Marionette.Behaviors:

var MyView = Marionette.ItemView.extend({
    ui: {
        "destroy": ".destroy-btn"
    },

    events: {
        "click @ui.destroy": "warnBeforeDestroy"
    }
Run Code Online (Sandbox Code Playgroud)

我之前从未见过@对象键中的符号.这@意味着什么,或者它只是字符串的一部分,没有什么特别之处?

javascript backbone.js marionette

5
推荐指数
1
解决办法
864
查看次数

在新的浏览器选项卡中打开ppt文件

包含.pdf的链接(如下所示)将在新选项卡中打开:

<a target="_blank" href="http://somePDF.pdf">Download</a>
Run Code Online (Sandbox Code Playgroud)

是否可以在新的浏览器选项卡中打开Powerpoint文件.ppt,而不是让用户下载文件?

我试过以下这个,但这让用户下载文件:

<a target="_blank" href="http://somePPT.ppt">Download</a>
Run Code Online (Sandbox Code Playgroud)

我不确定这是否可行,并且无法找到任何相关信息,所以我在这里发帖.

html javascript jquery html5 powerpoint

4
推荐指数
1
解决办法
4488
查看次数

数组排序不起作用

我有一个对象数组,我试图排序但它似乎没有工作.数组中的某些对象具有orderNum我要对其进行排序的属性.但并非所有对象都具有此属性.

我希望具有orderNum属性的对象被排序到数组中的顶部位置.

这是我尝试过的小提琴:http: //jsfiddle.net/7D8sN/

这是我的javascript:

var data = {
  "attributes": [
    {
        "value": "123-456-7890",
        "name": "phone"
    },
    {
        "value": "Something@something.com",
        "name": "email"
    },
    {
        "value": "Gotham",
        "name": "city",
        "orderNum": 1
    },
    {
        "value": "12",
        "name": "ID"
    },
    {
        "value": "Batman",
        "name": "Super Hero",
        "orderNum": 2
    }
  ]
};

data.attributes.sort( function (a, b) {
  if (a.orderNum < b.orderNum) {
    return -1;
  }
  if (a.orderNum > b.orderNum) {
    return 1;
  }

  return 0;
});

console.log(data);
Run Code Online (Sandbox Code Playgroud)

javascript arrays sorting

4
推荐指数
1
解决办法
9835
查看次数

文本脱离 flexbox 容器

我一直在学习用于布局的 flexbox,但一直无法弄清楚为什么文本没有包裹在 flex-item 内。文本像这样从容器中脱离出来:

损坏的布局的图像

html,
body {
  height: 100%;
}

.main {
  max-width: 10em;
  margin: 1em auto;
}

.flex-row {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 12em;
  border: 1px solid red;
}

.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item {
  padding: 5px;
  border: 1px solid black;
}
Run Code Online (Sandbox Code Playgroud)
<div class="main">
  <div class="flex-row">
    <div class="flex-column">
      <div class="flex-item">
        aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
      </div>
      <div class="flex-item">
        bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
      </div>
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

css flexbox

4
推荐指数
1
解决办法
5927
查看次数

位置绝对框导致容器崩溃

我有2个div,position:absolute里面有一个容器position:relative.我试图.box1在隐藏第二个div时显示第一个div .box2,使用绝对定位.

我可以看到容器周围的边框是否已折叠,但我不确定我缺少什么,以便它包裹显示的内部div.

.container {
    border: 1px solid black;
    position: relative;
    height: 100%;
}

.box {
    text-align: center;
    padding: 1em;
    position: absolute;
    width: 100%;
}

.box1 {
    background-color: #CECECE;
    top: 100%;    
}
.box2 {
    background-color: #87CEEB;
    top: 0%;
}
Run Code Online (Sandbox Code Playgroud)
<div class="container">
    <div class="box box1">
        Content 1
    </div>
    <div class="box box2">
        Content 2
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

html css css-position

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

单击循环数组

我想知道如何循环浏览数组中的值?显示数组的最后一个值时,下一次单击应再次显示该数组的第一个值.

我认为我很接近,但是当我到达数组的最后一个值时,我必须再次点击两次才能再次显示第一个值.

这是我的JavaScript:

var myArray = ["red", "yellow", "green"];
var myIndex = 1;
var print = document.getElementById('print');

print.innerHTML = myArray[0]; //Print first value of array right away.

function nextElement() {
  if (myIndex < myArray.length) {
     print.innerHTML = myArray[myIndex];
     myIndex++;
  }
  else {
     myIndex = 0;   
  }
};
Run Code Online (Sandbox Code Playgroud)

这是我的HTML:

<p>The color is <span id="print"></span>.</p> 

<a id="click" href="#" onclick="nextElement();">Click</a>
Run Code Online (Sandbox Code Playgroud)

如果有用的话,这是一个小提琴:

http://jsfiddle.net/jBJ3B/

javascript

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

循环遍历元素以查找特定ID

可以存在任意数量的元素,具有以下ID.

<div id="my-div-1">Title 1</div>
<div id="my-div-2">Title 2</div>
<div id="my-div-3">Title 3</div>
<div id="my-div-4">Title 4</div>
Run Code Online (Sandbox Code Playgroud)

我想循环遍历这些元素,看看ID末尾的数字是否与变量中的数字相匹配.

这是我到目前为止认为它不起作用:

var myNum = 3
var findNum = /[\d]+/;
var findElement = document.getElementById('my-div-' + findNum);
for(i=0; i<findElement; i++) {
    if (myNum = findNum) {
        console.log('Success! myNum = ' + myNum + 
                    ' and findNum = ' + findNum +
                    ' and findElement = ' + findElement);
    }
    else {
        console.log('Fail! myNum = ' + myNum + 
                    ' and findNum = ' + findNum + 
                    ' and …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

正则表达式,用于在斜杠之间查找值

我一直试图找到2个正斜杠之间的值.值可以是xx/a/xx,xx/ab/xxxx/c/xx

我只想获取这两个斜杠之间的值,'xx'可以是任何字符,因为这是url中路径名的一部分.这是我到目前为止所做的,但它不起作用.

var pathname = window.location.pathname;
var match = pathname.match(/\/(\w+)\//i)
Run Code Online (Sandbox Code Playgroud)

javascript regex

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

编辑API端点的RESTAdapter URL

我有一个api端点,需要/在它的末尾,但Ember不添加/.有没有办法编辑RESTAdapter创建的URL,以便添加此斜杠?

目前URL ember发送的是 http://www.myapi.com/v1/roles

我需要URL看起来像这样: http://www.myapi.com/v1/roles/

这是我目前的ApplicationAdapter:

import DS from 'ember-data';

export default DS.RESTAdapter.extend({
  ajaxError: function() {
    console.log('error');
  },

  host: 'http://www.myapi.com',

  namespace: 'v1'

});
Run Code Online (Sandbox Code Playgroud)

这是我的路由器:

import Ember from 'ember';

export default Ember.Route.extend({
    model: function(params) {
    return this.store.find('role');
  }

});
Run Code Online (Sandbox Code Playgroud)

javascript ember.js ember-data

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

通过树递归创建面包屑列表

我有一个数据树,我正在尝试创建一个递归函数来将树中的每个路径添加为一个字符串数组,以更好地理解递归。我不确定为什么我的方法没有产生期望

var tree = {
	"name": "home",
	"children": [
		{
			"name": "cars",
			"children": [
				{
					"name": "ford",
					"children": [
						{
							"name": "mustang"
						},
						{
							"name": "explorer"
						}
					]
				}
			]
		},
		{
			"name": "food",
			"children": [
				{
					"name": "pizza"
				}
			]
		}
	]
};

var list = [];
var path = [];

function traverse(node) {
    if (node.name) { 
        path.push(node.name) 
    }
    
    if (!node.children) { 
        if (path.length) {
            list.push(path);
        }
        return; 
    } else {
     node.children.forEach(function(item) {
       traverse(item); 
     });  
    }
}

traverse(tree);
console.log(list); …
Run Code Online (Sandbox Code Playgroud)

javascript recursion

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

模块中的Ajax错误:对象的状态必须为OPENED

我试图在没有首次使用jQuery的情况下向模块添加ajax方法.我在我的方法上遇到以下错误.jax():Uncaught InvalidStateError:无法在'XMLHttpRequest'上执行'send':对象的状态必须是OPENED.

我不知道如何解决这个问题.这是我的模块和一些简单的HTML.

var Test = (function (el) {

  function InnerTest () {
    this.el = el;

    //Capital letters indicate a constant that should not change.
    this.PARA = 'p'

    this.init();       
  };

  InnerTest.prototype.init = function () {
    this
        .createChildren()
        .runIt()
        .jax();
  };

  InnerTest.prototype.createChildren = function () {
    this.para = this.el.querySelectorAll(this.PARA); 

    return this;
  };

  InnerTest.prototype.runIt = function () {
    var len = this.para.length;
    for (var i = 0, item; item = this.para[i]; i++) {
        //test if browser supports the classList …
Run Code Online (Sandbox Code Playgroud)

javascript ajax

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