小编Ror*_*ane的帖子

如何用jQuery捕获altKey + i,u,e,n?

我正在尝试为外语设置键盘.我正在使用jQuery将按键转换成外来字符.我在用:

  • A - Z
  • ALT + A - Z
  • SHIFT + A - Z
  • ALT+ SHIFT+A - Z

    我的代码适用于所有这些,除了这4个:

    • ALT + I
    • ALT + U
    • ALT + E
    • ALT + N

它工作正常,在Firefox,但在Chrome和Safari(我使用的是Mac)我得到这些重音符号- ,ˆ,,¨ -而不是一个应该进入textarea的外来字符.´˜

以下是一些代码:

function type(e, char, textArea) {
    e.preventDefault();
    var start = textArea[0].selectionStart;
    var end = textArea[0].selectionEnd;
    var len = textArea.val().length;
    var newPos = start + char.length;
    textArea.val(textArea.val().substring(0, start) + char + textArea.val().substring(end, len));
    textArea[0].setSelectionRange(newPos, newPos);
}
$('textarea').keydown(function(e) {
        var …
Run Code Online (Sandbox Code Playgroud)

javascript macos jquery keyboard-shortcuts

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

有没有有效的方法在javascript中使用`__proto__`或`setPrototypeOf()`?

MDN对于修改代码中的原型有一个巨大的可怕警告:

根据[[Prototype]]现代JavaScript引擎如何在每个浏览器和JavaScript引擎中优化属性访问,非常慢的操作,改变对象的性质.对改变继承的性能的影响是微妙和遥远的,并不仅仅局限于在Object.setPrototypeOf(...)语句中花费的时间,而是可以扩展到任何可以访问任何[[Prototype]]已被更改的对象的代码 .如果您关心性能,则应避免设置[[Prototype]]对象.而是[[Prototype]]使用所需的使用创建一个新对象Object.create().

- MDN> JavaScript> Object.setPrototypeOf()

我想知道是否有任何情况你可以修改对象的原型而不会导致级联的优化效果,从而破坏程序的性能.好像应该有.例如,如果您只是在创建对象之后(以及在其他任何东西使用之前)修改原型.但我想这是依赖引擎的.

那么有谁知道是否有有效的方法来修改对象的原型?

编辑:这个问题的动机来自于创建实际继承的对象的愿望Function.我知道如何做到这一点的唯一方法是修改函数的原型.请参阅Raynos答案的最底部:javascript类继承自Function类

javascript inheritance prototype prototypal-inheritance prototype-chain

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

HTML fieldset允许子项无限扩展

我想把一个可滚动的盒子放在里面fieldset,但我遇到了一个怪癖,我无法弄清楚它的方式.当您将可滚动条div放在a中时fieldset,fieldset展开而不是使可滚动元素滚动.

这是一个测试用例.以下扩展无限期(boo):

<div style="width: 300px; overflow: hidden;">
   <fieldset>
      <div style="overflow: scroll; white-space: nowrap;">
        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lorem arcu, sodales non gravida eget, vehicula vitae nulla. Quisque turpis justo, consectetur ut egestas at, pulvinar nec diam. Donec porttitor lobortis elit quis scelerisque. Proin at mollis nibh. Nulla nisi dolor, rutrum nec rhoncus congue, cursus at urna. Curabitur adipiscing euismod nisl nec consequat. Aliquam justo justo, …
Run Code Online (Sandbox Code Playgroud)

html css overflow fieldset

9
推荐指数
2
解决办法
2325
查看次数

将title/alt属性放入CSS:{content:image}之后?

我有以下CSS将PDF图标添加到链接到PDF的任何链接:

a.pdf-link:after { padding-left: 2px; content: url(../images/icon-pdf-link.gif);}
Run Code Online (Sandbox Code Playgroud)

是否可以在此图像上添加一些title和alt属性?我希望它能让用户将鼠标悬停在图标上并获得一些文本,例如"这链接到.pdf文件."我通常只是将标题属性添加到其中,但无法弄清楚如果我能通过这种方法做到这一点.

css title pseudo-element alt

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

当元素的父元素溢出时,使元素宽度拉伸以适合其子元素:auto;

在这个简化的例子中,我有一个书架,书架放在书架上.书架是具有定义宽度的最外层元素.书架上的书应该从左到右显示而不包装.书架应该伸展它的宽度,以展示其架子上的所有书籍.所有书架都需要宽度相同,宽度最宽的书架.

我的HTML:

<div class="bookcase">
    <div class="bookshelf">
        <div class="book">
        <div class="book">
        <div class="book">
    </div>
    <div class="bookshelf">
        <div class="book">
        <div class="book">
        <div class="book">
        <div class="book">
    </div>
    <div class="bookshelf">
        <div class="book">
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我的CSS:

.bookcase {
    width: 40%;
    height: 300px;
    margin: 0 auto;
    background: lightgrey;
    overflow-x: auto;
}
.bookshelf {
    background: lightgreen;
    white-space: nowrap;
}
.book {
    display: inline-block;
    height: 60px;
    width: 60px;
    background: pink;
}
Run Code Online (Sandbox Code Playgroud)

jsFiddle演示

当前代码的问题在于,当书架宽度小于最长的书架并且书架使溢出可滚动时,书架元素不会伸展以适合所有书籍.目前,货架似乎将其宽度定义为等于父书柜.

这些图片说明了这个问题.这就是书柜看起来正常的情况,这很好:

用窄书柜向左滚动 要么 宽书柜看起来不错

但是当书柜缩小时向右滚动时,书架的绿色背景被切断,而不是到达最后一本红皮书的右侧:

使用窄书架向右滚动时,书架背景会丢失

如何让书架取出溢出元素的整个宽度,而不是书架父容器的宽度?

css overflow css3

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

为'devDependencies'和'dependencies'指定不同的Yarn安装路径

我正在使用Yarn来管理我的项目的依赖项.我有开发devDependencies和前端依赖项()所需的开发人员依赖项()dependencies,我的项目将需要并用于运行.我使用Git来管理我的版本控制.

默认情况下,纱线似乎在目录中安装所有依赖项node_modules.这对开发人员依赖很好,但因为我使用的是Git,我通常忽略这个目录.但是,我想提交我的前端依赖项并将它们与开发人员依赖项隔离开来.

我想知道是否可以将Yarn配置为在开发人员依赖项的单独目录中安装所需的依赖项.例如:

  • devDependencies 将安装在 /node_modules
  • dependencies 将安装在 /vendor

Bower在.bowerrc文件中有类似的功能,但我找不到任何类似的Yarn.我考虑过将Bower和Yarn一起用于我的前端依赖,但这似乎打败了使用Yarn的目的.

git npm bower yarnpkg

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

在子模块中使用git rebase和移动目录

我已将子目录移动到单独的存储库中,然后将其作为子模块包含在内.

现在我想在该变化之上重新定义另一个分支.

israfel:proj almad$ git rebase -i origin/master
error: could not apply ae1fd9a... Commit message
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' and run 'git rebase --continue'
Could not apply ae1fd9a... Commit message

israfel:proj almad$ git status
# Not currently on any branch.
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
# Unmerged paths:
#   (use "git reset HEAD <file>..." to unstage)
#   (use "git add/rm <file>..." …
Run Code Online (Sandbox Code Playgroud)

git git-rebase git-submodules

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

Firebug Lite for Chrome会破坏悬停效果和鼠标悬停事件

我有一个奇怪的问题:当使用Firebug Lite for Chrome时,有时悬停不起作用.

我得到了什么:div像这样:

<div class="editWindow">
    <ul>
        <li id="edCha" onclick="channels.add()">
            ????????????? ?????
        </li>
        <li id="delCha" onclick="channels.chanLink()">
            ?????????? ???????
        </li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

这个CSS:

.editWindow li:hover, .chooseAction li:hover {
    background: #369;
    color: white;
    cursor: pointer;
}
Run Code Online (Sandbox Code Playgroud)

当我第一次打开页面然后激活Firebug时,它看起来都像这样:

editWindow在页面加载后悬停

但是,如果我首先激活Firebug然后打开此页面,则悬停只是不起作用.我在Firebug控制台中看不到任何错误,并且没有像这样的悬停效果(鼠标指针在那里,相信我):

editWindow在激活Firebug时缺少悬停效果

我只在Chrome(Firefox运行良好)中遇到过这个问题,无论是在Win7还是在Linux(Mint 14)上.

原因是什么?我糊涂了.

编辑

当使用Force element state -> :hover的开发工具菜单,悬停风格的作品.

编辑2

我添加onmouseover="alert('test');"了其中一个li元素.在第二种情况下,alert甚至没有被召唤!

css firebug google-chrome hover firebug-lite

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

从子窗口调用父窗口的JavaScript

我有一个日历,当我点击一个时<td>,会出现一个弹出窗口,这样你就可以为你选择的日期创建你的evenement.我想添加一个功能.

当用户完成创建事件时,我想向父页面发送JavaScript请求,以便我可以使用AJAX刷新日历.基本上,我想调用子函数,但函数在父页面上.

在Google上,我只发现了一个可以刷新父窗口的脚本 - 没有关于"父回调"的内容.☹甚至可能吗?

PS答案可以是纯JS或jQuery,没关系.我会继续看着.

javascript jquery popupwindow

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

"拆分"大型Rails控制器的最佳方法

我目前有一个已经很大的控制器.我想知道减少控制器的最佳方法是什么.我不一定会寻找最简单的方法,而是一种安全有效的方式.我一直在使用Rails现在发展了一段时间,但我仍然不熟悉如何"子类"的作品,我甚至不能确定它是否应该以这种方式来使用.我想也许是这样的?

class SomeController < ApplicationController
end

class MoreFunctionsController < SomeController
end
Run Code Online (Sandbox Code Playgroud)

这是目前未经检验的 - 我仍然工作就可以了,现在 - 但我希望这会那种给你的什么方向,我试图去的想法.我也不确定这样做的路由是什么.什么是"拆分"大型控制器的最佳方法?

ruby-on-rails

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