小编eis*_*ehr的帖子

强制 IntersectionObserver 更新

有没有办法强制更新/运行IntersectionObserver实例?当视口发生变化时,回调将默认执行。但是我正在寻找一种在其他事件发生时执行它的方法,比如元素的变化。

一个例子:

初始化时一切正常。但是当你改变#red元素的位置时,什么也没有发生。

// elements
let green = document.querySelector('#green');
let red = document.querySelector('#red');

// observer callback
let callback = entries => {
  entries.forEach(entry => {
    let isInside = entry.intersectionRatio >= 1 ? "fully" : "NOT";
    console.log("#" + entry.target.id + " is " + isInside + " inside #container");
  });
};

// start observer
let options = {root: document.querySelector('#container')};
let observer = new IntersectionObserver(callback, options);
observer.observe(green);
observer.observe(red);

// button action
document.querySelector('button').addEventListener('click', () => {
  red.style.right = red.style.right …
Run Code Online (Sandbox Code Playgroud)

javascript intersection-observer

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

在event.target上使用jQuery方法

我想在click事件期间检查事件目标的特定属性:

$('div').on('click', function(e) {  
    console.log(e.target.attr('class'));
});
Run Code Online (Sandbox Code Playgroud)

这会导致浏览器控制台出错:

main.js:47未捕获TypeError:e.target.attr不是函数

是不是event.target一个jQuery对象?

javascript jquery

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

下载PDF文件,Angular 6和Web API

我想使用Angular 6和Web API下载PDF.这是代码实现,

mycomponent.ts

download(myObj: any) {
    this.testService.downloadDoc(myObj.id).subscribe(result => {

        var url = window.URL.createObjectURL(result);
        window.open(url);
        console.log("download result ", result);
    });
}
Run Code Online (Sandbox Code Playgroud)

myService.ts

downloadDoc(Id: string): Observable<any> {
    let url = this.apiUrl + "api/myApi/download/" + Id;
    return this.http.get(url, { responseType: "blob" });
}
Run Code Online (Sandbox Code Playgroud)

Web API服务

[HttpGet("download/{DocId}")]
    public async Task<HttpResponseMessage> GetDocument(string docId)
    {
        var docDetails = await _hoaDocs.GetDocumentDetails(docId).ConfigureAwait(false);
        var dataBytes = docDetails.Stream;
        var dataStream = new MemoryStream(dataBytes);

        var response = new HttpResponseMessage
        {
            StatusCode = HttpStatusCode.OK,
            Content = new StreamContent(dataStream)
        };

        response.Content.Headers.ContentDisposition = …
Run Code Online (Sandbox Code Playgroud)

asp.net-core-webapi angular angular6

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

数据集属性 - 获取/设置正确的驼峰案例名称

我将属性名称存储在字符串中的某个位置,并且需要一种方法来创建与datasetapi 一起使用的更正名称.我得到属性样式的名字,比如data-attrib-name.所以我需要将它们转换为驼峰盒并移除data-它前面.

我现在发现的最短路是下面的替换.但这对我来说有点不好意思.我的任务有更好的解决方案/更短的方式吗?

console.log(
  "data-my-test-name"
    .replace('data-', '')
    .replace(/-([a-z]?)/g, (m, g) => g.toUpperCase())
);
Run Code Online (Sandbox Code Playgroud)

html javascript custom-data-attribute

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

我需要帮助在特定条件下清空文本区域

我的页面中有文本区域控件,我的代码是这样的,当用户单击文本区域或按"ENTER"键时,它将在文本区域中创建项目符号列表.但问题是,如果用户点击文本区域并且它将创建项目符号列表,但如果用户没有在文本区域中键入任何内容,则它应该为空并且应该删除项目符号.简单来说,如果文本区域子弹列表中没有数据,则应删除它.还有一件事是阻止用户从文本区域删除子弹.

这是我的代码:

<textarea name="MondayAcomp" id="MondayAcomp" cols="45" rows="5"  onKeyDown="if(event.keyCode == 13) return false;" onKeyUp="bulletOnEnter(this.id)" onFocus="onfoc(this.id)" onBlur="onFocOff(this.id)" style="margin: 0px; width: 200px; height: 219px;"></textarea>
Run Code Online (Sandbox Code Playgroud)

Javascript函数:

function onfoc(id) {
    if (document.getElementById(id).value == "") {
        document.getElementById(id).value += '• ';
    }
}

function onFocOff(id) {
    if (document.getElementById(id).value == '• ') {
        document.getElementById(id).empty;
    }
}

function bulletOnEnter(id) {
    var keycode = (event.keyCode ? event.keyCode : event.which);

    if (keycode == '13') {
        event.preventDefault();
        document.getElementById(id).value += '\n• ';
    }

    var txtval = document.getElementById(id).value;

    if (txtval.substr(txtval.length - 1) == '\n') …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

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

如何在安装时直接执行'npm link'

我有一个内部项目,我想将命令链接到文件bin.喜欢这样package.json:

{
  "name": "my-project",
  "bin": {
    "cli-name": "./bin/my-executable.js"
  },
  "dependencies": {
    "node-red": "^1.0.0"
  }
}
Run Code Online (Sandbox Code Playgroud)

执行时npm install,将安装所有依赖项,并且也将创建bin配置node-red.

但我自己bin将被完全忽略.这不是可以用cli-namecmd.npm link在第二步中也必须执行.然后cli-name将在控制台中作为命令使用.我甚至试过在其中使用with postinstall脚本,但后来我得到了一个循环......npmnpm link

有没有办法一步到位npm install

node.js npm package.json npm-install npm-link

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

在 mocha/chai 测试中检查 value 是字符串还是数字

我很好奇如何测试 avalue为 astring numberwith chai。当这是一个严格的测试时,我知道如何为 astring或 a编写测试number。但如何处理,什么时候value可以成为其中之一呢?

对字符串的测试:

describe("test", () => {
    it("should be a string", () => {
       let value = "1234";
       value.should.be.a("string");
    });
});
Run Code Online (Sandbox Code Playgroud)

对数字的测试:

describe("test", () => {
    it("should be a number", () => {
       let value = 1234;
       value.should.be.a("number");
    });
});
Run Code Online (Sandbox Code Playgroud)

有没有内置的方法可以chai做到这一点?

我知道我可以采取一些解决方法,如下所示。但这感觉有点老套

describe("test", () => {
    it("should be a number or string", () => {
       let value = 1234; …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing mocha.js chai

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

如何在Jquery中检查数组包含不同的值或相同的值

一个数组可以包含多个值。我想检查所有值是否相同或不同。

例子

var a = [2, 4, 7, 2, 8];   // all values are not same
var b = [2, 2, 2, 2, 2];   // all values are same
Run Code Online (Sandbox Code Playgroud)

我如何在 jquery 中检查它

javascript jquery

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

为什么JetBrains IDE一直在说类和构造函数未被使用?

我PhpStorm/WebStorm IDE不断告诉,认为classconstructor未使用的一些类(不是所有).我已经在设置中设置了JavaScript语言版本ECMAScript6并启用了Node.js支持.一般来说代码也可以正常工作.例如 ...

文件TestClass.js:

module.exports = class Test {
    constructor() {
        console.log("Test.constructor");
    }

    test() {
        console.log("Test.test");
    }
}
Run Code Online (Sandbox Code Playgroud)

File Test.js:

let Test = require("./TestClass");
let inst = new Test();
inst.test();
Run Code Online (Sandbox Code Playgroud)

有了这个,代码检查一直告诉我:

未使用的类TestClass
未使用的方法构造函数

有什么不对或有没有办法压制警告?IDE通常不显示禁止此选项的选项.

甚至另一个问题似乎是,匿名分类也导致检查问题.如果我重写module.exports = class Test {module.exports = class {甚至test()类中的方法将被标记为unused.我还没有办法防止这种情况......

jetbrains-ide node.js phpstorm webstorm es6-class

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

为什么切换到jQuery 3后我的'load'事件/函数没有被执行?

自从我从升级jQuery 1.x/ jQuery 2.xjQuery 3.x,我现有的代码不会被正确地执行了.一切正常,但load事件监听器不再被触发或有时被触发:

$(function() {
    $(window).on("load", function() {
        // this line will never/occasionally be executed
        console.log("window is loaded!");
    });
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-plugins jquery-3

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