小编Sep*_*ram的帖子

为什么`not (some-width: Xem)` 媒体查询永远不会触发?

我正在尝试否定max-device-width媒体查询(这样做的原因是我不会两者兼而有之(max-device-width: X)(min-device-width: X)如果设备恰好具有该宽度则触发)。不幸的是,not (min-or-max-some-width: X)媒体查询永远不会触发。

这是一个小小提琴。我希望桌面上有两条黄线,移动设备上有两条红线。我得到的是桌面上只有一条黄线(最后一条),而移动设备上只有一条红线(第一条)。

我究竟做错了什么?

css negation media-queries

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

Chrome似乎忽略了内容可编辑div中的用户选择

我需要使它成为contenteditablediv中的某些元素是不可选择的,以便用户在尝试将插入符号移动到它们所在的位置时将跳过它们。

显而易见的解决方案似乎是使用设置样式user-select: none。这在Firefox中确实可以很好地工作,但是不幸的是,在Google Chrome中完全无法使用。

.ok {
  -webkit-user-select: text;
     -moz-user-select: text;
      -ms-user-select: text;
          user-select: text;
}

.nope {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
Run Code Online (Sandbox Code Playgroud)
<div contenteditable="true" readonly>
  <span class="ok">One</span><span class="nope">Two</span><span class="ok">Three</span>
  <div class="nope">
    <span class="ok">One</span><span class="nope">Two</span><span class="ok">Three</span>
  </div>
  <span class="nope">One</span><span class="ok">Two</span><span class="nope">Three</span>
  <div class="nope">
    <span class="nope">One</span><span class="ok">Two</span><span class="nope">Three</span>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

有没有办法使它在Chrome中也能正常工作,还是一个无法克服的局限性?

html css cross-browser contenteditable

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

TypeScript:如何包装一个函数,改变它的返回类型?

我需要写一个这样的函数:

const wrapper = (fn) => () => {
  const value = fn.apply (this, arguments)
  const somethingElseEntirely: WellDefinedType = doMagic (value)
  return somethingElseEntirely
}
Run Code Online (Sandbox Code Playgroud)

...包装任何给定的功能。众所周知,给定的函数返回一个明确定义的类型,例如,string。众所周知,给定函数可以接受任何参数组合,并且被包装的函数应该采用相同的参数,但是,它应该返回不同类型的值。

例如,像这样的函数:

function foo (arg1: string, arg2?: number): string
Run Code Online (Sandbox Code Playgroud)

...应该变成:

(arg1: string, arg2?: number): WellDefinedType
Run Code Online (Sandbox Code Playgroud)

这是否可以在 TypeScript 中实现而无需求助于any?

typescript

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

Qt:我无法在 QApplication 的子类中安装翻译器

在我的应用程序中,我将 QApplication 子类化来做很多事情,比如集中式异常处理、SQLite 数据库连接、通过 QSettings 初始化默认设置(在需要时)。并且,特别是加载翻译。我在构造函数中这样做,当我这样做时:

installTranslator (&translator);
qDebug() << "Translation from PApplication:"
         << translate ("PAddFormWindow", "Dialog");
Run Code Online (Sandbox Code Playgroud)

我得到了非常正确的翻译(俄语)。但在我的应用程序中,我看到的一切都是英文。更糟糕的是,即使我在初始化我的应用程序对象后尝试立即获得翻译,我也看到它是英文的:

PApplication a ("PCorrect", argc, argv);
qDebug() << "Translation from void main():"
         << a.translate ("PAddFormWindow", "Dialog");
Run Code Online (Sandbox Code Playgroud)

那么,为什么不起作用呢?是因为我在构造函数中做吗?我还应该提到 PApplication 类不是在应用程序本身中声明和定义的,而是在动态加载的库中(我正在开发一个应用程序套件)。我的平台是带有 Qt 4.7.0 的 Windows XP。

c++ qt translation localization

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

是否可以在KDE中更改任意窗口标题?

是否可以在KDE中更改不属于我的应用程序(由应用程序PID或窗口描述符标识)的任意窗口的窗口标题?如果是这样,怎么办呢?

x11 kde window

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

如何在创建具有相同名称的局部变量之前保留父函数的变量值?

我在函数中有一个本地表变量,并且一个子函数应该具有一个具有相同名称的变量,同时仍然能够访问父变量.这应该是显而易见的,但不幸的是,如果我在任何地方定义一个具有相同名称的局部变量,JavaScript不允许我访问父变量:

var p = {alpha : 'beta'};

console.debug (p);
// [08:16:21.896] ({alpha:"beta"})
// Okay.

(function() {
    console.debug (p);
    // [08:16:21.896] ({alpha:"beta"})
    // Right! JavaScript, you're so awesome!
})();

// One moment though, I think I still need the parent's table...
(function() {
    var p = { 'p': p };
    console.debug (p);
    // [08:16:21.896] ({p:(void 0)})
    // Wait, what?
})();

// Okay, maybe giving it the same name in the same statement confuses you?
(function() {
    var parent_p = p;
    var …
Run Code Online (Sandbox Code Playgroud)

javascript

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

使用表单元素 - 复选框 - contenteditable div 内

我需要将表单元素(简单的复选框)放置在contenteditable <div />. 重要的是,复选框不是为了显示 - 用户需要能够单击它们,打开或关闭它们。不幸的是,它们在设置后不起作用contenteditable- 无法单击它们或它们的标签,至少在 Firefox 中是这样。

这是一个演示

$('#enable-edit').change (function() {
  $('div').attr('contenteditable', $(this).prop ('checked') ? 'true' : 'false');
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div contenteditable="true">
  <p>
    <input type="checkbox" id="fail" /><label for="fail">You cannot click on me (nor edit this text) if contenteditable is true</label>
  </p>
  <p>
    ...but you can edit this text
  </p>
</div>

<input type="checkbox" id="enable-edit" checked /><label for="enable-edit">Enable contenteditable</label>
Run Code Online (Sandbox Code Playgroud)

有什么办法可以解决这个问题,而无需通过 JavaScript 手动处理点击事件吗?如果没有,处理这些复选框上的点击事件是否是可接受的跨浏览器解决方案?

html javascript

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

QT_TR_NOOP:生成了翻译文件,但是从未使用过翻译的字符串,为什么?

在一个应用程序中,我有很多类显然不是QObject的后代,并且这些对象显然抛出了异常,并且这些异常显然需要进行翻译。因此,我将抛出异常的每个字符串封装在QT_TR_NOOP宏中。这使我可以生成翻译文件。但是,当我运行程序时,字符串仍未翻译。如果我尝试通过QApplication :: translate(“ MyClassName”,“英语文本”)获取它们,则可以很好地获取字符串,但是QT_TR_NOOP(“英语文本”)仅返回英语文本。我应该采取其他措施使其正常工作吗?

另外,还有一个小问题:如果我在不属于任何类成员的函数中使用QT_TR_NOOP,会发生什么?Qt是否只是默默地忽略了这种情况?

c++ qt translation localization

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