- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在这段代码中:
function onHover_(){
$('p').css('background-color', 'red') ;
}
$( document ).ready(function() {
//1
$('p').click(onHover_);
//2
$('p').click(onHover_());
});
在第一行 onHover_
在我点击 <p>
之后函数被执行(如我所料)标签。在第二行 onHover_()
在文档准备好后立即执行,这意味着它不会等待 click
事件!
简单地说,为什么?
这是一个 jsFiddle测试代码。
找到 this STO 上的线程,但结果不是公认的答案所预测的。
最佳答案
onHover_
是一个函数。
onHover_()
执行或调用函数
因此,当您为事件分配处理程序时,即 ( click, change)
,您希望在事件发生时调用函数。
但不是在事件绑定(bind)的时候。
所以在这种情况下
$('p').click(onHover_());
p 标签
的背景颜色会立即更改,而不是在您单击它时发生。这是因为函数名称后面的 ()
(它会立即调用该函数)。
如果你还对语法感到困惑
$('p').click(onHover_);
与
相同$('p').click( function() {
$('p').css('background-color', 'red') ;
});
回调是一个匿名函数,在特定事件被触发或执行时执行。
关于javascript - 事件中的 someFunction() 和 someFunction 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17535906/
我目前正在使用 Diab 4.4 C++ 编译器。这是一个完整的 POS,不符合 ANSI,我过去发现过它的问题。 我想知道下面的问题是编译器的问题,还是我对C++知识的不足 我意识到 x = x &
在这段代码中: function onHover_(){ $('p').css('background-color', 'red') ; } $( document )
我以这种方式向 WSDL 服务器发送请求: $soap = new SoapClient('WSDL_URI'); $soap->SomeFunction(array('Param1' => 123,
我知道 JavaScript 中的函数有双重生命,第一个是函数(作为创建实例的第一类事物),第二个是普通对象。 但是我很惊讶地看到下面控制台的输出。 function A() { consol
有什么区别 和 一个使用括号而不是另一个,但是使用其中任何一种有什么区别?什么是“正确”选项?如果我不使用任何 href 会发生什么属性? 据我所知,在 javascript 中,使用 somet
var funcHi = function() { var a=6; var b=5; return a+b; }; var withBrace = funcHi();
这个问题已经有答案了: Why does babel rewrite imported function call to (0, fn)(...)? (3 个回答) 已关闭 6 年前。 我正在使用 U
在阅读了绑定(bind)到 React ES6 类的方法的 bind 要求后,我对这个示例仍然遇到一些困难: class ProductList extends React.Component {
在网上查了一下,我还没有看到很多设置函数等于函数的例子。然而,在我发现的几个论坛中,似乎很多人都说这种方法没有得到广泛支持。 为了解释我的问题,我有一个表格,我想在上面实现这个:
我正在阅读某人的代码,我看到以下内容: this.device_name.changes().onValue(this.changeName.bind(this)) 据我了解,onValue 接受一个
我正在尝试传递一个动态加载的 dll 的类型(它使用一个接口(interface),但我需要conectrete implementation of this) to a function and a
我正在学习如何在 PHP 中使用 MySQL,在学习如何在数据库中调用 SQL 查询时,我看到程序方法包含以下 if 语句: if($result = mysqli_query($link, $que
如果某些东西使用了尚未定义的函数,为什么 JSLint 会提示?关键是该函数已定义 - 如果某个东西调用该函数,则该函数存在并且事情将会起作用。 看一下下面的代码: function foo() {
在我遇到的一个网络应用程序中,在 logout.jsp 中有一个 javascript 行: parent.parent.renderProcessingTextOff(); 在使用 IE 脚本调试器
我有一个表示函数参数列表的可变参数模板,例如: void myFunc (int,int,std::string) { } template class MyTemplateClass { }; ..
当尝试将一个简单的 JS 文件转换为禁用隐式“any”的 TS 文件时,出现此错误: error TS7009: 'new' expression, which lacks a constructor
我在很多地方都遇到过一些具有这种模式的代码: this.someFunction.call(this, param); 但在我看来这只是一种更冗长的打字方式 this.someFunction(par
请看一下这段代码。我需要显示一条警报消息“mikä on elämän tarkoitus?”使用此代码 window["mikä"]("on")("elämän")("tarkoitus")("?"
基本上我在标题中提到的是我正在尝试做的,我不确定是否可以做。 我有: $myClass = new Class(); $var = $myClass->someFunction(); 但后来我再也没有
我有一个关于 Javascript 在原型(prototype)、变量声明和构造函数方面的行为的问题。 为什么这有效: var myFunction = function(){ alert('some
我是一名优秀的程序员,十分优秀!