小编Ada*_*ant的帖子

Firefox和Chrome之间按钮宽度的差异

我知道有很多FF/Chrome CSS问题,但我似乎无法找到这个问题.

这是一个JS小提琴显示问题:http://jsfiddle.net/ajkochanowicz/G5rdD/1/

(长篇CSS的道歉,这是从网站上复制的.)

从本质上讲,Firefox和Chrome为按钮的最内部宽度4和6提供了两个不同的值.我希望它们都是4或更少.是什么造成的?

来自Chrome

来自Firefox

css firefox google-chrome progressive-enhancement css3

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

将大量元素事件监听器委托给 document.body 是不是很疯狂?

在阅读了有关最佳性能 JavaScript 的文章后,我了解到最好尽量减少与 DOM 的交互,并更多地依赖 JavaScript 本身的逻辑。

其中一部分是对元素列表使用单个事件侦听器并读取点击目标,而不是对每个元素使用一个事件侦听器

ul#menu
  li#one One
  li#two Two
  li#three Three

$ul = document.getElementById('#menu')
$ul.addEventListener('click', function(e) {
  if (e.target.id == ...) { ... } // You get the idea
})
Run Code Online (Sandbox Code Playgroud)

我有一个网站,有几个导航栏、几个下拉按钮等。那么为什么不在主体上创建一个事件侦听器并只查看事件目标呢?

document.body.addEventListener('click', function(e) {
  if (e.target.id == ...) { ... };
})
Run Code Online (Sandbox Code Playgroud)

从技术角度我无法判断这个解决方案有什么问题。有些东西对我来说似乎太重了,它有一种代码的味道。

这在移动设备上会有问题吗?DOM 含量高的本质是否<body>最终对性能造成的损害大于好处?

没有使用 jQuery,请建议纯 JS 解决方案。

javascript events dom-events

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

在while循环中使用 - 运算符会产生意外结果

在这个公式中,

var x = 5; while(x--) { console.log(x) }
Run Code Online (Sandbox Code Playgroud)

输出是

4
3
2
1
0
Run Code Online (Sandbox Code Playgroud)

为什么0要输出?在第五次迭代中,x--将等于0false,因此循环不应该运行.

出于同样的原因,这会返回 true

var x = 1;
(x--) == true;
Run Code Online (Sandbox Code Playgroud)

但这会返回false

0 == true
Run Code Online (Sandbox Code Playgroud)

javascript loops while-loop

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

ORA-04045:重新编译/重新验证期间发生错误

我只是在尝试查询表AVC时突然开始出现此错误。

ORA-04045: errors during recompilation/revalidation of PUBLIC.AVC
ORA-04098: trigger 'TTMS.ALTERED_TTMSDB_TABS_TRIGGER' is invalid and failed re-validation
Run Code Online (Sandbox Code Playgroud)

select * from avc不起作用,但select * from exfc.avc确实起作用。

谁能告诉我发生了什么事?

oracle

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

在promise.then()中分配时Angular不更新绑定

在我的角度的应用程序,我有一个$scope变量username.

如果我在点击时将此变量设置为"test":

<a href="#" ng-click="setUser()">Set User</a>

与功能

$scope.user = {
  name: 'blank'
}

$scope.setUser = function(name) {
  $scope.user.name = name
}
Run Code Online (Sandbox Code Playgroud)

这很好用.但是,如果我在promise.then()*中设置它,它似乎正确设置变量,但Angular不会在视图中更新它,直到我在$ scope.user上执行了另一个操作.

<a href="#" ng-click="startLogin()">Set User</a>

现在调用一个新函数, startLogin()

$scope.user = {
  name: 'blank';
};

$scope.setUser = function(name) {
  $scope.user.name = name;
};

$scope.startLogin = function() {
  var promise = Kinvey.ping();
  promise.then(function(response) {
    console.log('success');
    $scope.setUser('test');
  });
};
Run Code Online (Sandbox Code Playgroud)

这样做之后.{{user.name}}视图中的字段仍为"空白".我还测试了以下内容:

  • $scope 当我将它记录到控制台时,它在函数中运行良好.
  • 记录$scope.user返回也正确,表明变量已更改.
  • 有趣的是,视图最终在我第二次点击时发生了变化.
  • 我也可以通过添加$scope.$apply()来解决这个问题,但这似乎是解决这个问题的错误方法.

*我正在使用Kinvey,它使用与 …

javascript commonjs angularjs

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