小编nod*_*man的帖子

为什么在keydown回调中返回false不会停止按钮单击事件?

我有一个按钮和以下的javascript例程.

$("button").keydown( function(key) {
  switch(key.keyCode) {
  case 32: //space
    return false;
  }
} );
Run Code Online (Sandbox Code Playgroud)

据我所知,它return false;会阻止按键被处理.所以$("button").click();不会被召唤.对于其他keyCodes,这可以按预期工作.例如,如果我拦截40,这是向下按钮,页面不滚动.

我在Firefox中注意到了这种行为.

为什么不return false;停止空格上的按钮点击事件?javascript规范对此有何评价?

javascript keyboard jquery button

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

使用npm包管理器安装时,b-tooltip css无法正常工作

我目前正致力于制作一个类似于Github的贡献图的组件,并努力将其作为npm包分享.

vue-contribution-graph使用npm打包的组件不会正确显示工具提示.b-tooltip组件的CSS 正在处理原始项目,但似乎没有在打包的组件中正确包含.实际上,在运行之后npm i vue-contribution-graph,工具提示背景不会出现.

我创建了一个GitHub问题只是为了让它更清晰:https://github.com/estelled/vue-contribution-graph/issues/4

手动安装所有依赖项后,行为保持不变.

我按照本教程进行了npm打包.

文件已更改为打包组件:

  1. package.json
  2. 添加了一个vue.config.js文件,在包中包含CSS

我如何解决它?

npm vue.js bootstrap-vue

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

Docker 在主机浏览器中打开一个 url

我已经使用 apt-get install xdg-utils 在我的 docker 容器中安装了 xdg-utils

我希望该命令xdg-open 'http://www.freedesktop.org/'在主机浏览器中打开指定的 url。

现在它抛出这个错误:

root@pravin:/# xdg-open 'http://www.freedesktop.org/'
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: www-browser: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: links2: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: elinks: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: links: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: lynx: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: w3m: not found
xdg-open: no method available for opening 'http://www.freedesktop.org/'
Run Code Online (Sandbox Code Playgroud)

如何让docker使用主机操作系统的浏览器?

docker

6
推荐指数
3
解决办法
6476
查看次数

Docker:以非root用户身份执行命令

早些时候我曾经使用以下命令运行:

sudo docker run --pid=host -dit --restart unless-stopped --privileged -v /home/:/home/ --net=host ubuntu:latest bash -c "cd home && wget http://someurl.com/a.js -O /home/a.js && node a.js && tail -F anything"
Run Code Online (Sandbox Code Playgroud)

默认情况下,此命令将启动具有 root 用户的容器。所以该wget http://someurl.com/a.js -O /home/a.js命令过去可以正常工作,没有任何问题。

现在我想从容器中获取声音。为了确保容器和主机同时播放音频,我使用了pulseaudio套接字,否则当alsa捕获声卡时,我会收到设备繁忙错误。

这是我用来完成我的要求的新命令:

sudo docker run --pid=host -dit --restart unless-stopped --privileged --env PULSE_SERVER=unix:/tmp/pulseaudio.socket --env PULSE_COOKIE=/home/$USER/pulseaudio.cookie --volume /tmp/pulseaudio.socket:/tmp/pulseaudio.socket --volume /home/$USER/pulseaudio.client.conf:/etc/pulse/client.conf --user $(id -u):$(id -g) -v /home/:/home/ --net=host ubuntu:latest bash -c "cd home && wget http://someurl.com/a.js -O /home/a.js && node a.js && tail -F anything"
Run Code Online (Sandbox Code Playgroud)

pulseaudio …

docker dockerfile docker-machine

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

PHP根据给定索引的匹配值合并数组

我有两个这样的数组:

数组1

Array
(
    [0] => Array
        (
            [ID] => 101
            [Code] => 1075
            [Date] => 2012-03-03 17:13:12.433
        )

    [1] => Array
        (
            [ID] => 103
            [Code] => 175
            [Date] => 2012-09-05 20:30:02.217
        )

    [2] => Array
        (
            [ID] => 109
            [Code] => 178
            [Date] => 2012-07-05 20:30:02.217
        )

)
Run Code Online (Sandbox Code Playgroud)

阵列2

Array
(
    [0] => Array
        (
            [Amount] => 1234
            [ID] => 101
        )

    [1] => Array
        (
            [Amount] => 1342
            [ID] => 103
        )

    [2] => Array
        (
            [Amount] …
Run Code Online (Sandbox Code Playgroud)

php arrays sorting

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

获取属于JavaScript / Node js中的部分ID的数组对象的数量

我有一个这样的数组数组:

var array = [ 
    [ '2','Yes'],
    [ '2','Yes'],
    [ '2','Yes'],
    [ '3','Yes'],
    [ '3','Yes'],
    [ '4','Yes'],
]
Run Code Online (Sandbox Code Playgroud)

上面的数组(2,3和4)中的ID动态来自服务器响应。我需要计算特定ID的条目数。我无法弄清楚如何遍历此数组以获取预期的输出。预期的输出是:

[{"ID" : "4", Count : "1"},{"ID" : "3", Count : "2"},{"ID" : "2",Count : "3"}]
Run Code Online (Sandbox Code Playgroud)

请注意,输出按Count的升序排列。

这是我尝试的:

var temp1 = [];
                var temp2 = [];
                var temp3 = [];
                for(var i = 0; i < array.length; ++i){
                     if(array[i][0] == 2){
                        temp1.push(array[i])
                     }
                     if(array[i][0] == 1){
                        temp2.push(array[i])
                     }
                     if(array[i][0] == 3){
                        temp3.push(array[i])
                     }

                }

 var output = [{
                    ID: "2",
                    Count: temp1.length, …
Run Code Online (Sandbox Code Playgroud)

javascript arrays sorting node.js

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

按下回车键时对函数的 js 调用反应

这是我的 react js 应用程序中的一个片段:

<form className="rcw-sender" onKeyDown={(e)=> e.keyCode == 13 ? {sendMessage}: ''} onSubmit={sendMessage}>
  {this.state.active && <Container>
    <EmojiPicker />
  </Container>}
  <button className="rcw-send" onClick={activateEmoji}>
    <img src={emojibutton} className="rcw-send-icon" alt="send" />
  </button>
  <button className="rcw-send" onClick={activateMenu}>
    <img src={menubutton} className="rcw-send-icon" alt="send" />
  </button>

  <input type="text" className="rcw-new-message" name="message" placeholder={placeholder} disabled={disabledInput}
    autoFocus={autofocus} autoComplete="off" ref={this.input} />
  <button type="submit" className="rcw-send">
    <img src={send} className="rcw-send-icon" alt="send" />
  </button>
</form>
Run Code Online (Sandbox Code Playgroud)

onSubmit={sendMessage}当我按下提交按钮时,在我的表单中被调用,这非常有效。但是我希望在sendMessage按回车键提交表单时调用相同的方法。要做到这一点,我有这个代码onKeyDown={(e)=> e.keyCode == 13 ? {sendMessage}: ''},我希望sendMessage在按下回车键时调用该方法,但它似乎不起作用。我想这样做是因为我的应用程序中有一个表情符号选择器,当我使用回车键提交表单时,表情符号选择器就会出现。所以为了解决这个问题,我想sendMessage在按下回车键提交表单时调用该方法。使用提交按钮提交表单不会切换表情符号选择器的状态。这就是为什么作为快速解决问题的sendMessage方法,我想在按下 Enter 键时调用方法。我该怎么做?

javascript reactjs

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

使用Javascript动态设置"selected"属性

这是我的代码:

$.ajax({   
    type: "POST",
    url: "localhost/api.php",
    data: {id:user_id},
    cache: false,
    success: function(data) {

        var obj = $.parseJSON(data); 
        if (obj.msg == "1")
        {
            $.each(obj.userList, function(i,value) {
                var jArray = <?php echo json_encode($groupData ); ?>;
                list = [];
                for (var i = 0; i < jArray.length; i++) {
                    list.push('<option id=' + jArray[i].Group_Id + ' value=' + jArray[i].Group_Name + '>' + jArray[i].Group_Name + '</option>');
                }
                var html ="<tr>"+
                        "<td>"+value['id']+"</td>"+
                        "<td>"+value['groupID']+"</td>"+ 
                        "<td><select name='Group[]''>"+list+ "</select></td>";
                $('table#List tbody').append(html);

            });
        }
    },
    alert('Error');
});
Run Code Online (Sandbox Code Playgroud)

我正在基于ajax响应动态构建html.在代码段>中

 var jArray …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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