小编Mia*_*ter的帖子

LESS CSS中的动态变量名称

我已经尝试了一段时间,看着其他答案,但无济于事.希望有人可以帮助我.

我试图在mixin中生成一些动态变量名.

变量已经定义:

@horizontal-default-color: #fff;
@horizontal-inverse-color: #000;
Run Code Online (Sandbox Code Playgroud)

等等..

我想要的mixin是这样的:

.horizontal-variant(@variant) {
    color: @{horizontal-@{@variant}-color}
}
Run Code Online (Sandbox Code Playgroud)

当我打电话时,我期待的结果是:

.horizontal-default{
   .horizontal-variant(~"default");
}
.horizontal-inverse{
   .horizontal-variant(~"inverse");
}
Run Code Online (Sandbox Code Playgroud)

.horizontal-default {color: #fff}
.horizontal-inverse {color: #000}
Run Code Online (Sandbox Code Playgroud)

不幸的是我每次都遇到错误.

我知道这可以做到,我已经看到它被用在Font Awesome LESS中,@{fa-css-prefix}在变量中定义了它.我只是在我的项目中运输相同的解决方案时遇到了麻烦.

您可以尝试在http://lesstester.com/上测试代码

css less

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

在javascript中,别名命名空间?

在javascript中,我不应该为命名空间命名吗?

Google JavaScript样式指南命名章节中,它说:

//Do not alias namespaces.
myapp.main = function() {
  var namespace = some.long.namespace;
  namespace.MyClass.staticHelper(new namespace.MyClass());
};
Run Code Online (Sandbox Code Playgroud)

但我无法完全理解这个问题.为简洁起见,为什么不使用命名空间?

javascript

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

相同的代码但使用gin + go-template的结果不同

基本信息

  • 转到版本:go1.4.2 darwin/amd64
  • 操作系统:Mac OS X 10.10.5

我正在开发一个基于gogin编写的小型Web项目.这是我的golang代码.运行后,go run test.go我们有一个Web服务器,正在监听8089.

Golang test.go

package main

import "github.com/gin-gonic/gin"
import "net/http"

func main() {
    router := gin.Default()
    router.LoadHTMLGlob("templates/*")
    router.GET("/index", func(c *gin.Context) {
        c.HTML(http.StatusOK, "index.html", gin.H{
            "scheme": "http",
            "domain": "meican.loc",
        })
    })
    router.Run(":8089") // listen and serve on 0.0.0.0:8089
}
Run Code Online (Sandbox Code Playgroud)

后端生成的html代码应该包含前端javascript引擎使用的模板(比方说Angular.js).

所以模板代码在script标签中,就像这样:

template/index.html的一部分

<script type="text/template" charset="utf-8">
  <div data="{{.scheme}}://{{.domain}}/qr"></div>
  <div data="{{.scheme}}://{{.domain}}/qr"></div> <!-- problem here -->
</script>
Run Code Online (Sandbox Code Playgroud)

{{.domain}}第二次使用时,我得到了不同的结果.我刷新了浏览器并检查了源代码.然后我得到了这个:

浏览器源代码结果

<script type="text/template" charset="utf-8">
  <div data="http://meican.loc/qr"></div>
  <div data="http://"meican.loc"/qr"></div> …
Run Code Online (Sandbox Code Playgroud)

html go go-templates go-gin

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

为什么jQuery无法触发锚标记的本机点击?

最近我发现当我点击其他元素时,jQuery无法触发锚标记上的本机点击事件,下面的示例将不起作用:

HTML

<a class="js-a1" href="new.html" target="_blank">this is a link</a>
<a class="js-a2" href="another.html" target="_blank">this is another link</a>
Run Code Online (Sandbox Code Playgroud)

JavaScript的

$('.js-a1').click(function () {
  $('.js-a2').click();
  return false;
});
Run Code Online (Sandbox Code Playgroud)

这是jsfiddle - 1.单击第一个链接将不会触发第二个链接上的本机单击.

经过一些搜索,我找到了解决方案和解释.

使用本机DOM元素.

$('.js-a1').click(function () {
  $('.js-a2').get(0).click();
  return false;
});
Run Code Online (Sandbox Code Playgroud)

这是jsfiddle - 2.

说明

我在Learn jQuery:Triggering Event Handlers上发了一篇文章.它告诉我:

.trigger()函数不能用于模仿本机浏览器事件,例如单击文件输入框或锚标记.这是因为,没有使用与这些事件对应的jQuery事件系统附加事件处理程序.

所以这是我的问题:

如何理解'没有使用与这些事件相对应的jQuery事件系统附加事件处理程序'

为什么没有这样的相应事件处理程序?

编辑

我更新了我的jsfiddles,似乎有类名的错误.

javascript jquery

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

Angularjs适合在app启动时启动http请求的时刻

我刚开始学习Angularjs 2天前.所有这两天都有一个问题让我很困惑.

我需要向服务器发出一个http请求,以便在应用程序启动时获取一些数据,但我找不到合适的时机来执行此操作.

我试controller过去打电话$http.get().但它不起作用.似乎控制器不会被实例化,如果它从未在html中使用(不确定这一点).

我也试图找到其他方法,但我只发现$ http用于http请求.而且$http只出现在controller.

也许我需要使用其他Angularjs方法?或者,我应该手动执行实例化操作?

angularjs

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

为什么Object.prototype.toString.call(foo)可以检测foo的类型?

我知道我们可以在Javascript中检测变量的类型,如下所示:

Object.prototype.toString.call([]); // [object Array]
Object.prototype.toString.call({}); // [object Object]
Object.prototype.toString.call(''); // [object String]
Object.prototype.toString.call(new Date()); // [object Date]
Object.prototype.toString.call(1); // [object Number]
Object.prototype.toString.call(function () {}); // [object Function]
Object.prototype.toString.call(/test/i); // [object RegExp]
Object.prototype.toString.call(true); // [object Boolean]
Object.prototype.toString.call(null); // [object Null]
Object.prototype.toString.call(); // [object Undefined]
Run Code Online (Sandbox Code Playgroud)

但为什么?

这些值([object Array],[object String] ...)是如何返回的,以及它的作用Object.prototype.toString是什么?

javascript

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

JavaScript自定义跟踪器

我想为CakePHP 2.x中构建的基于Web的应用程序构建跟踪系统.我们的想法是将所有跟踪链接写成如下:

<a 
  href="#" 
  class="track-click" 
  data-tracking='{ 
    "trackers": [
      {
        "tracker": "----", 
        "eventId": "---",
        "tracking_options": { 
          "eventTargetUrl": "---", 
          "props": [{ 
            "key": "----", 
            "value": "---"  
          }]
        } 
      } 
    ]
  }'
/>
Run Code Online (Sandbox Code Playgroud)

处理跟踪请求的javascript应该能够收集驻留在数据跟踪属性中的信息.这可以通过在"跟踪点击"类onClick事件上附加点击事件来完成.

以下是我如何使用上面的链接:

$('.track-click').click(function(e){
  //Lets grab the data thats within the data-tracking attribute and do something with it
  var data = $(this).attr('data-tracking');
  alert(data.trackers);
  e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

在目前这个时刻,如果我提醒上面我得到了不确定.如果我在我的代码上放置$(this).attr('data-tracking').val(),我会得到以下错误:

TypeError: $(...).attr(...).val is not a function
Run Code Online (Sandbox Code Playgroud)

如上所示,操作具有json数据的链接的最佳方法是什么?

javascript jquery

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

标签 统计

javascript ×4

jquery ×2

angularjs ×1

css ×1

go ×1

go-gin ×1

go-templates ×1

html ×1

less ×1