小编Chr*_*alo的帖子

合并冲突解决方案

当Git中存在合并冲突时,会将以下垃圾插入冲突文件中.三个问题:

  1. 你怎么看这些注释?
  2. 修复这些合并冲突时有哪些策略可供使用?
  3. 是否有适用于Mac的GUI工具,它知道如何阅读这些文件并并排显示两个版本,以便更容易解决问题?

在此输入图像描述

注意:如果它是相关的,我使用的是GitHub的Mac GUI客户端.

git user-interface merge-conflict-resolution

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

是否有内置或更多Pythonic方法尝试将字符串解析为整数

在尝试将字符串解析为整数时,我必须编写以下函数才能正常失败.我认为Python内置了一些内容来做到这一点,但我找不到它.如果没有,是否有更多的Pythonic方式,不需要单独的功能?

def try_parse_int(s, base=10, val=None):
  try:
    return int(s, base)
  except ValueError:
    return val
Run Code Online (Sandbox Code Playgroud)

我最终使用的解决方案是修改了@ sharjeel的答案.以下功能相同,但我认为更具可读性.

def ignore_exception(exception=Exception, default_val=None):
  """Returns a decorator that ignores an exception raised by the function it
  decorates.

  Using it as a decorator:

    @ignore_exception(ValueError)
    def my_function():
      pass

  Using it as a function wrapper:

    int_try_parse = ignore_exception(ValueError)(int)
  """
  def decorator(function):
    def wrapper(*args, **kwargs):
      try:
        return function(*args, **kwargs)
      except exception:
        return default_val
    return wrapper
  return decorator
Run Code Online (Sandbox Code Playgroud)

python parsing integer

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

HTML Mobile - 强制隐藏软键盘

我正在为优惠券公司开发前端站点,我有一个页面,用户只需要输入电话号码和花费的金额.我们想出了一个有趣的屏幕键盘,内置Javascript,易于使用,速度快.但是,我正在寻找一种解决方案,当用户聚焦并在这些字段中输入文本/数字时,阻止软键盘弹出.

我知道HTML5提出的"数字/电话/电子邮件"类型属性.然而,冒着疯狂的风险,我真的只想使用我的屏幕键盘.

注意:此网站主要针对平板电脑.

谢谢.

javascript html5 tablet ipad

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

使用grunt.js使用RequireJS组合JavaScript文件的工作项目结构?

我有一些项目使用RequireJS在浏览器中加载单个JavaScript模块,但我还没有对它们进行优化.在开发和生产中,应用程序为每个JavaScript文件单独发出请求,现在我想使用Grunt修复它.

我试图将一个简单的项目结构组合起来无济于事,所以我想知道是否有人可以为我提供一个有效的例子.我的目标如下:

  1. 在开发模式中,通过为每个所需模块发出单独的请求,一切都在浏览器中工作.在开发模式下不需要任何繁琐的任务或连接.
  2. 当我准备好了,我可以运行一个繁琐的任务来使用r.js优化(组合)所有JavaScript文件并在本地测试.一旦我确信优化的应用程序正确运行,我就可以部署它.

以下是为了进行此对话的示例结构:

grunt-requirejs-example/
  grunt.js
  main.js (application entry point)
  index.html (references main.js)
  lib/ (stuff that main.js depends on)
    a.js
    b.js
    requirejs/
      require.js
      text.js
  build/ (optimized app goes here)
  node_modules/ (necessary grunt tasks live here)
Run Code Online (Sandbox Code Playgroud)

具体来说,我正在寻找一个可以从中开始的工作项目结构.我的主要问题是:

  1. 如果这个项目结构存在缺陷,你会推荐什么?
  2. 我的grunt.js文件中究竟需要什么,尤其是让r.js优化器工作?
  3. 如果所有这些都不值得工作,并且有一种方法可以使用grunt watch任务在每次保存文件时自动构建开发模式中的所有内容,那么我全都听见了.我想避免任何减慢循环的事情从进行更改到在浏览器中看到它.

javascript build requirejs gruntjs

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

Array(n)和Array(n)之间的区别.fill?

我注意到如果我这样做:

Array(n).map(() => console.log('test'))
Run Code Online (Sandbox Code Playgroud)

我没有打印任何东西.

但是,如果我这样做:

Array(n).fill().map(() => console.log('test'))
Run Code Online (Sandbox Code Playgroud)

test打印出来的n时间.

为什么会这样?如果我这样做,Array(n).length我会回来n.

我注意到在REPL中Array(5)返回:

[ , , , , ]

Array(5).fill()回报:

[ undefined, undefined, undefined, undefined, undefined ]

在这两种情况下,typeof数组中的任何元素=== undefined.

发生什么了?

javascript arrays

16
推荐指数
2
解决办法
1354
查看次数

如何在浏览器中解析YAML?

我想在浏览器中解析YAML.理想情况下,我正在寻找一个支持浏览器的库.我发现的那些不是写在浏览器中运行的(它们同步调用require()或假设存在exports变量).

或者,我将接受示例代码,该代码显示如何通过RequireJS将YAML解析库加载到浏览器中.

javascript browser parsing yaml

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

仅通过特定元素的可聚焦后代进行制表的最简单方法是什么?

假设我有一个充满可聚焦元素的文档,要么是因为它们天生具有可聚焦性(如<input type="text">),要么因为它们具有tabindex="0"等等.

现在让我们说我的文档中有一部分要显示为模式对话框,我不希望用户被对话框外的任何东西分心.我想tab键只能通过对话框的容器元素内的可聚焦元素循环.最简单的方法是什么?

如果可能的话,我正在寻找一种解决方案,它不关心对话框的内容或页面的其余部分是什么,也不会尝试修改它们.也就是说,我不想让对话框之外的元素不可聚焦.首先,这需要做出可逆的改变并跟踪状态.其次,这需要了解元素可以聚焦的所有可能方式.这让我觉得凌乱,脆弱,不易退缩.

我的第一次尝试看起来像这样,但只能在向前方向上工作(按Tab键).它不能反向工作(按Shift + Tab键).

<div>Focusable stuff outside the dialog.</div>
<div class="dialog" tabindex="0">
  <!-- Focus should be trapped inside this dialog while it's open -->
  <div class="content">
    Form contents and focusable stuff here.
  </div>
  <div class="last-focus" tabindex="0" onfocus="this.parentNode.focus()"></div>
</div>
<div>More focusable stuff outside the dialog.</div>
Run Code Online (Sandbox Code Playgroud)

我宁愿看到纯JavaScript解决方案.如果有一种方法可以使用诸如jQuery之类的库来执行此操作,我更喜欢指向执行此操作的库代码的链接.

html javascript focus tabindex

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

嵌套对象文字在grunt.js文件中的含义是什么?

我无法理解有时会出现在grunt.js文件中的嵌套.在下面的例子中,什么都嵌套状物体concat.dist,并min.dist意味着什么呢?是dist键引用另一个命名任务或者是它只是一个配置对象?在执行concatmin任务时究竟会调用什么?

module.exports = function (grunt) {
  grunt.initConfig({
    // …
    concat: {
      dist: {
        src: ["<banner:meta.banner>", "<file_strip_banner:lib/main.js>"],
        dest: "dist/main.js",
      }
    },
    min: {
      dist: {
        src: ["<banner:meta.banner>", "<config:concat.dist.dest>"],
        dest: "dist/main.min.js",
      }
    },
    // …
  });

  // …
  grunt.registerTask("default", "lint qunit concat min");
};
Run Code Online (Sandbox Code Playgroud)

javascript build gruntjs

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

如何防止单击复选框的标签窃取焦点

Mac OS X 上的默认行为是单击复选框和按钮不会从其他具有焦点的控件(例如,文本框)窃取焦点。我想在网络上实现这个。

我可以让它适用于按钮和复选框本身,但不适用于复选框标签。

以这个jsbin为例:http ://jsbin.com/kopateluze/1/edit?html,console,output

这是表格的屏幕截图:

http://jsbin.com/kopateluze/1/edit?html,console,output 的截图

如果先聚焦文本框,然后单击按钮,则可以使用event.preventDefault()onmousedown防止文本框失去焦点。这很好用。如果您首先关注文本框,然后单击复选框,则同样有效。

但是如果你先聚焦文本框,然后点击复选框的label文本,就不行了;文本框失去焦点。

有没有办法防止单击复选框label从其他控件窃取焦点?

请使用纯 JavaScript,但请随时链接到库中实现的解决方案的源代码。

html javascript

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

如何使用不同的JSHint选项lint两组文件?(grunt.js)

我有一些JavaScript文件应该在假定一个Node环境时使用,而其他应该在假定浏览器环境时使用.如何使用不同的JSHint选项lint这些文件?这是我的出发点:

module.exports = function (grunt) {
  grunt.initConfig({
    lint: {
      files: [
        "grunt.js", // Node environment
        "lib/**/*.js", // browser environment
      ],
    },
    jshint: {
      options: {
        browser: true, // define globals exposed by modern browsers?
        es5: true, // code uses ECMAScript 5 features?
        node: false, // define globals in Node runtime?
      },
      globals: {},
    },
  });

  grunt.registerTask("default", "lint");
};
Run Code Online (Sandbox Code Playgroud)

javascript jshint gruntjs

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