小编sir*_*day的帖子

从滚动页面停止空格键

我知道e.preventDefault();应该阻止空格键在页面上滚动,但它不能用于我的功能

$("html").live("keyup", function (e) {
    var code = (e.keyCode ? e.keyCode : e.which);
    if ((code == 32 || code == 13) && $("span").is(":focus")) {
        openDropdown();
        $(".dropdown a.PivotItem:first").focus();
        e.preventDefault();
    } else if ((code == 32 || code == 13) && $("a.PivotItem").is(":focus")) {
        closeDropdown();
        changeSelected($("*:focus"));
        e.preventDefault();
    } else if (code == 27 && ($("span").is(":focus") || $(".dropdown a.PivotItem").is(":focus"))) {
        closeDropdown();
        $("span").focus();
    } else {
        //do nothing
    }
});
Run Code Online (Sandbox Code Playgroud)

它与.live(我所包含的处理程序有什么关系吗?

jquery events preventdefault

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

(Typescript)'Global'类型中不存在属性'window'

我正在使用Mocha/Chai进行单元测试并且嘲笑window如下:

global.window = { innerHeight: 1000, innerWidth: 1000 };
Run Code Online (Sandbox Code Playgroud)

可以理解的是,TSLint抱怨说:

"全球"类型中不存在属性"窗口"

一些问题......是Global内置的NodeJS/Typescript类型?我目前正在使用declare var global文件顶部的警告进行静音...但这是处理此问题的最佳方法吗?我注意到我也可以通过以下方式解决警告:

declare global {
    namespace NodeJS {
        interface  Global {
            window: any;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望扩展现有Global类型以接受window属性.谢谢.

javascript node.js typescript

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

匹配路由不会改变路由散列更改

我使用react-router-domreact-router-reduxhistory管理路由我的应用程序.我也使用哈希历史记录来支持旧版浏览器.以下是我的路线组件:

<Switch>
    <Route exact path={'/'} component={...} />
    <Route path={'/a'} component={...} />
    <Route path={'/b'} component={...} />
</Switch>
Run Code Online (Sandbox Code Playgroud)

我的app位于以下位置:http://something.com/index.html#/并正确路由到第一个Route组件.但是,当dispatch(push('/a'))在thunk动作创建器中使用以尝试以编程方式切换路由时,我发现正确的路由没有匹配.

我很难调试这个......任何想法?我想这也许是与事实,我做的window.location.pathname/index.html.

javascript react-router redux react-router-dom

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

DocumentCompleted多次触发 - 接受的StackOverflow回答不起作用

我测试我的WebBrowser是否完成:

webBrowser2.DocumentCompleted += (s, e) =>
{
    // Do stuff  
}
Run Code Online (Sandbox Code Playgroud)

我访问的网页是大量的JS文件和iframe和东西,所以我使用下面的函数来确保它是完成加载的实际页面.

webBrowser2.DocumentCompleted += (s, e) =>
{
    if (e.Url.AbsolutePath != (s as WebBrowser).Url.AbsolutePath)
    {
        return;
    }       
    // Do stuff    
}   
Run Code Online (Sandbox Code Playgroud)

但是,它似乎仍然无法正常工作.我做错了什么,或者这在语法上是否正确,我的代码中还有其他错误?

c# browser url webbrowser-control

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

在npm脚本中匹配多个文件扩展名

我有一个npm脚本,我想要匹配tstsx文件扩展名...如下所示:

"test": "mocha ..... app/test/**/*.spec.{ts,tsx}"
Run Code Online (Sandbox Code Playgroud)

但是,上述语法不起作用.这样做的正确语法是什么?

javascript node.js npm package.json npm-scripts

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

将字符串枚举成员转换为枚举的打字稿函数

我想在 Typescript 中写这样的东西:

export function stringToEnum<T>(enumObj: T, str: string): keyof T {
    return enumObj[str];
}
Run Code Online (Sandbox Code Playgroud)

并按如下方式使用它:

enum MyEnum {
  Foo
}

stringToEnum<MyEnum>(MyEnum, 'Foo');
Run Code Online (Sandbox Code Playgroud)

它将返回的地方

MyEnum.Foo

上面的函数按预期工作......但打字错误。对于参数MyEnumstringToEnum<MyEnum>(MyEnum, 'Foo');,打字稿抱怨塔:

“typeof MyEnum”类型的参数不可分配给“MyEnum”类型的参数

这是有道理的......不幸的是。关于如何解决这个问题的任何想法?

javascript enums typescript

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

在没有 Webpack 的情况下使用模块“child_process”

我正在使用 Webpack 来捆绑依赖项,其中之一是 emailing service postmark。这个服务依赖于一个叫做 node.js 的东西child_process

问题是,当我尝试运行 webpack 来捆绑我的应用程序时,它会抱怨:

找不到模块:错误:无法解析模块“child_process”...

网上的大部分答案都说,针对这个错误,我应该添加以下行:

  node: {
    child_process: 'empty'
  }
Run Code Online (Sandbox Code Playgroud)

到我的 webpack 配置。但这没有意义,因为 webpack 不会尝试查找 child_process,因此,当我运行我的应用程序时,我收到以下错误:

未捕获的类型错误:exec 不是函数

这是postmark(依赖的服务child_process)抱怨模块中的exec函数child_process不存在的错误。

因此,我想知道如何将child_process模块包含在我的构建中而不会有 webpack 抱怨?

javascript postmark webpack

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

意外的输入结束 - 在Express/Node App上卷曲JSON

我有一个部署到Heroku实例的Express/Node应用程序.该应用程序具有POST api端点,该端点需要.json文件,读取数据并使用JSON数据填充应用程序.下面是处理POST请求的后端代码:

router.route('/data')
  .post(function (req, res) {
    return DataUtils.storeData(req, res);
  });

Utils.storeData = function (req, res) {
  req.pipe(req.busboy);
  req.busboy.on('file', function (fieldname, file, filename) {
    file.on('data', function(data) {
      var data;
      try {
        data = JSON.parse('' + data);  // quick casting into a String
        var numPersonSessionObj = data.length;
        ...
        // etc etc...
Run Code Online (Sandbox Code Playgroud)

当我们尝试通过下面的curl命令发出请求时:

curl -H"Content-Length:5567"-F file=@sample_data/sample_json.json http:// [heroku-instance]/api/data

服务器有时工作正常,上传数据,有时会抛出"意外的输入结束"错误.似乎我们使用的缓冲区方法由于某种原因没有读取所有数据.在记录data.length上面的代码(即JSON)时,似乎每当数据长度小于它应该的时候请求就会失败.我在上面的JSON文件中阅读的方式有问题吗?谢谢 -

javascript json curl heroku

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

Tensorflow了解tf.train.shuffle_batch

我有一个训练数据文件,大约100K行,我tf.train.GradientDescentOptimizer在每个训练步骤都运行得很简单.该设置基本上直接来自Tensorflow的MNIST示例.代码转载如下:

x = tf.placeholder(tf.float32, [None, 21])
W = tf.Variable(tf.zeros([21, 2]))
b = tf.Variable(tf.zeros([2]))
y = tf.nn.softmax(tf.matmul(x, W) + b)

y_ = tf.placeholder(tf.float32, [None, 2])
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)
Run Code Online (Sandbox Code Playgroud)

鉴于我正在从文件中读取训练数据,我正在使用tf.train.string_input_producertf.decode_csv从csv中读取行,然后tf.train.shuffle_batch创建我随后训练的批次.

我对我的参数应该是什么感到困惑tf.train.shuffle_batch.我阅读了Tensorflow的文档,但我仍然不确定"最佳"batch_size,capacity和min_after_dequeue值是什么.任何人都可以帮助我解释如何为这些参数选择合适的值,或者将我链接到我可以了解更多信息的资源?谢谢 -

这是API链接:https://www.tensorflow.org/versions/r0.9/api_docs/python/io_ops.html#shuffle_batch

machine-learning mathematical-optimization gradient-descent tensorflow

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

在 Redux 中处理大量文本输入更改

我正在 Redux 中构建一个小型应用程序,并且想知道所有状态更改应在多大程度上通过 Redux 减速器和中央存储传播。

例如,单个文本输入在自己的组件内管理自己的状态是否更好(通过setState)?或者,是否应该触发操作来响应这些输入中的每个按键事件。如果是这样,我想知道是否存在性能问题。

总的来说,处理小型 UI 更新(例如 Redux 中的按键事件)的最佳实践是什么?

javascript reactjs redux

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