jQuery如何允许其构造函数作为接受参数的函数,同时它的构造函数还充当接受参数的函数?
我对JavaScript有点新手,请原谅我这是否是一个noob问题,(我已经查看了源码,但很难尝试剖析).
无论如何,作为示例$(document).ready(<args>);
构造函数$()
和原型都ready()
充当函数.怎么样?因为如果我试试这个:
var $ = function( selector ) {
if(selector == document) {
return document;
}
};
$.prototype = {
constructor: $,
ready: function( args ) {
if( isDomReady ) {
args.apply( document );
} else {
window.onload = args;
}
}
};
var isDomReady = ( document.addEventListener || document.readyState == ("complete"|"loaded"|true|4) || document.onreadystatechange() ) ? true : false;
$(document).ready(function() { alert("Wibbles!") });
Run Code Online (Sandbox Code Playgroud)
我收到一个错误 Uncaught TypeError: Object[object global] has no method 'ready'
我在我的<html>
元素"no-js"中放了一个类.这表示用户未使用javascript(无论是禁用还是阻止).然后,在我创建的脚本文件中,我想撤销"no-js"并注入"js",以便我可以确定用户是否通过类使用javascript.我尝试replace()
通过查询html标签来使用该方法,但它无法正常工作.这就是我所拥有的:
var html = document.getElementsByTagName("html")[0];
if(html.className == "no-js") {
html.className.replace("no-js", "js"); // user has JS enabled
}
Run Code Online (Sandbox Code Playgroud)
Google Chrome或Firefox的错误控制台中没有错误,但也没有更改no-js
为js
.我会使用<noscript>
标签,但我喜欢保持它的标记面干净.
我想知道 Python 代码是否可以像 Javascript 一样被压缩/非人类可读。我知道缩进在Python中很重要,它的核心理念是可读性,但是有没有一种方法可以允许压缩Python代码呢?顺便说一句,Python 2.7。
我查了一下并发现没有方法可以找到 a 中的当前行div contenteditable
,所以我尝试编写一个脚本来最好地估计当前行。
var curLine = 1;
var curColumn = 1;
$(".editable").onkeydown = function(e) {
var keyCode = e.keyCode || e.which;
switch( keyCode ) {
case 13:
console.log("Enter; on line: " + curLine);
curLine++;
break;
case 8:
if( /* current line has a text length of 0 */ ) {
console.log("Previous line prepended; previous enter reversed; on line: " + curLine);
do {
curLine--;
} while( curLine > 0 );
}
// } else if( /* single …
Run Code Online (Sandbox Code Playgroud) 我想写一个自定义注释,比如@loggable,当在方法级别声明时,会向用户显示一些关于当前方法的日志消息.我该怎么做?这可能吗?如何用spring注册这个注释?我在哪里写日志逻辑?
提前致谢.
我想知道是否有一个javascript"include"函数(类似于python中的那个),我正在寻找一些但除了$.load()
和之外找不到任何东西google.load()
.
所以,我冒昧地创建了一个脚本,可以做到这一点只是为了好玩,所以:
var include = function( lib ) {
// start with jQuery
if(lib == "jquery") {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://code.jquery.com/jquery.min.js";
script.defer = "defer"; // should I use script.setAttribute('defer', 'defer')?
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(script, s);
}
}
Run Code Online (Sandbox Code Playgroud)
然后,在一个单独的脚本中:
include("jquery");
$("p").innerHTML = "Worked!";
Run Code Online (Sandbox Code Playgroud)
但是我收到了一个错误 $ is not defined
这是有道理的,因为脚本在加载jQuery之前运行.所以我的问题是,有没有办法确保包含脚本先于其他任何内容运行?我见过的callback
解决方案看起来像这样:
include("http://code.jquery.com/jquery.min.js", function() {
$("p").innerHTML = "Worked!";
});
Run Code Online (Sandbox Code Playgroud)
但我确实想知道是否有任何东西(比如我上面提出的)更整洁一点.
任何帮助将非常感激!
所有字体上升器/下降器是否在上方/下方具有相同的空间?我正在尝试编写一个全局样式表,它将从h1-6
我发现不超过8个像素左右的h
元素中去掉顶部和底部空间(随着元素的降低而降低.)我之所以考虑这个原因是因为我不会有任何高大的角色会占据上升/下降,所以我真的没有用它(加上我需要精确定位我的元素.)
我的问题是,所有字体是否具有相同的升/降空间,或者它是否因字体,操作系统或浏览器而异.
我试图找出如何获取给定img
元素,并使用Javascript将其拆分img
为四个相等大小的图块.也就是说,原始图像的左上象限将成为其自己的img
元素,与其他三个象限相同.但是,我对如何做到这一点感到茫然.有人可以提供一个起点或解释如何/如果这样做?它必须是粗暴的像素操纵吗?
除了询问如何配置文本编辑器的设置外,我在这里看到了有关同一问题的问题.我想知道如何在浏览器中使用JavaScript在input
元素或textarea
元素中执行此操作.
若要展开多一点,在打字时,如果用户按下(
,<
,{
,或[
我想JavaScript来自动把封闭元件)
,>
,}
,]
根据一个类型,最好是速度不够快,加上之前的用户可能输入其他字符.
我不是那种经验丰富的JavaScript,所以我来这里寻求帮助.这是我尝试过的:
$(".editable").keydown(function(e) {
if(e.which == 219) { // open bracket
$(".editable").val() += "]"; // close bracket
}
});
Run Code Online (Sandbox Code Playgroud)
但它会引发一个错误Invalid left-hand assignment另外,这似乎是一个问题,可能有一个更有效/优雅的解决方案/方法,我尝试了什么?任何帮助将非常感激.
我尝试创建一些可以搜索整个网页以查找某些关键字的内容,并使用纯JavaScript将它们设置为斜体.我最近甚至没有尝试过任何关于JavaScript的事情(侧面跟踪),所以我不知道为什么这不起作用.我试过谷歌搜索,但没有特别的问题(我发现的一切都是试图改变class
一个元素而不是基本的css属性).我真正想知道的是为什么这不起作用.这是我到目前为止所拥有的:
<html>
<head>
<script>
var str = document.getElementsByTagName("*").innerHTML;
var n = str.match(/(Nautilus|Captain Nemo)/i);
n.style.fontStyle = "italic";
</script>
</head>
<body>
The Nautilus was a ship run by Captain Nemo.
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
应该产生结果:Nautilus是一艘由尼莫船长经营的船.
我没有经验的逻辑说我应该(尝试)将整个文档解析为一个大字符串,然后使用正则表达式将该字符串与关键字匹配,然后更改style.fontStyle
.
现在,就像我说的那样,由于忙碌,我现在甚至没有触及JavaScript甚至jQuery一段时间,所以我可能会等待,但任何帮助都会非常感激!
为什么CSS中的评论甚至相当可观?我之前正在测试一个网站,只是在分号后添加一些纯文本:
#myId {
property: value; this is my comment
}
Run Code Online (Sandbox Code Playgroud)
并且没有引发任何错误,该值仍然应用于选择器,一切正常.为何使用/* */
?我在Chrome和Firefox中测试了它,是否还有其他浏览器可能无法解析CSS,如果我这样做,我不知道?
javascript ×7
html ×6
css ×3
jquery ×3
python ×2
annotations ×1
autocomplete ×1
class ×1
classname ×1
comments ×1
compression ×1
dom ×1
fonts ×1
image ×1
include ×1
logging ×1
object ×1
performance ×1
prototype ×1
python-2.7 ×1
readability ×1
replace ×1
split ×1
spring ×1
spring-mvc ×1
text ×1