小编The*_*Nik的帖子

将jquery选择器存储在变量中

在以下示例中,stored jQuery selector返回错误的值.存储选择器的可能性而不是结果?

js代码:

// storing the jQuery selectors
var
  $container = $( '.container' ),
  $element1  = $container.find( '.element' ),
  $element2  = $( '.element', $container ),
  $element3  = $( '.element' );

// append elements to the container
for( i=0; i<10; ++i ){
  $container.append( $(element_html) );  
}

// try the stored selectors -> returns 0
console.log( "1: " + $element1.length );
console.log( "2: " + $element2.length );
console.log( "3: " + $element3.length );
Run Code Online (Sandbox Code Playgroud)

为什么,如果我使用容器选择器来查找元素,它有效吗?这是因为选择器返回pointer匹配的元素而不是元素?

// this works …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery jquery-selectors

33
推荐指数
2
解决办法
5万
查看次数

根据宽度和高度保持纵横比

可以div在视口中放置一个正方形并使其居中,并始终根据宽度和高度保持其纵横比

要求 :

  • 只有CSS
  • 无论视口的方向(横向或纵向)如何,方块的大小都必须适应视口的最小尺寸(宽度或高度).
  • 正方形必须在视口中以水平方向和垂直方向居中

例:

根据视口的宽度和高度保持纵横比

css aspect-ratio css3 responsive-design

14
推荐指数
2
解决办法
7707
查看次数

Aurelia选择初始值

我有以下代码:

JavaScript的:

export class App {
  values = [
    {id: 0, text:'Text 1'},
    {id: 1, text:'Text 2'},
    {id: 2, text:'Text 3'}
  ];

  obj = {
    selected: 2
  };
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<template>
  <select value.bind="obj.selected">
    <option repeat.for="option of values" value="${option.id}">${option.text}</option>
  </select>
</template>
Run Code Online (Sandbox Code Playgroud)

问题是,初始值select不是预期的thirth选项.

我需要做些什么才能使它正常工作?

Plunk例子

javascript aurelia

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

防止鼠标点击事件

我在 Chrome、Firefox 和 IE 上尝试了以下代码:

var test = document.getElementById('test');

test.addEventListener( 'click', function ( e ) {
  alert( 'clicked' );
});

test.addEventListener( 'mousedown', function ( e ) {
  e.stopImmediatePropagation();
  e.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)

在 chrome 中,不会触发警报;在 Firefox 中,即,是的。哪个是正确的行为?如何防止点击事件被触发?

jsBin 示例

javascript cross-browser

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

Web组件的自定义方法

是否可以在自定义元素上定义自定义功能?

就像是:

var proto = Object.create(HTMLElement.prototype);
proto.customMethod = function () { ... };

document.registerElement('custom-el', {
  prototype: proto
});
Run Code Online (Sandbox Code Playgroud)

并在元素上调用方法:

var istance = document.createElement('custom-el');
instance.customMethod();
Run Code Online (Sandbox Code Playgroud)

html javascript web-component custom-element

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

如何通过跟踪有条件地将日志写入多个目的地?

我尝试使用跟踪箱实现一些集中式日志记录。我可以使用跟踪附加程序箱写入滚动文件,或使用以下代码写入 Graylog 应用程序:

let mut guards = Vec::new();
if let Some(log) = config.logs {
    if let Some(file) = log.file {
        let file_appender = tracing_appender::rolling::hourly(file.directory, file.filename);
        let (non_blocking, guard) = tracing_appender::non_blocking(file_appender);
        guards.push(guard);
        let file_logger = tracing_subscriber::fmt()
            .with_writer(non_blocking)
            .init();
    }

    if let Some(graylog) = log.graylog {
        let address: SocketAddr = graylog.host.parse().expect("Unable to parse graylog host address");
        let bg_task = Logger::builder()
            .additional_field("module_id", graylog.module_id)
            .init_tcp(address)
            .unwrap();

        tokio::spawn(bg_task);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果日志配置仅包含.file.graylog定义之一,则它可以工作,但如果我同时定义这两个应用程序,则应用程序会在启动时崩溃。

我认为存在冲突,因为两者都试图设置默认收集器。有什么方法可以定义两者来接受每个跨度和事件?

rust rust-tracing

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