jQuery 嵌套函数
jQuery nested functions
我仍然是JavaScript和jQuery的新手,所以我对为什么下面的代码没有像我预期的那样工作感到困惑。 我要做的就是在按钮单击(id=recordInput
)时保存输入,然后用另一个按钮单击(id=displayInput
)显示它。 我观察到的是存储了tempInput
(代码一直工作到那时),但 displayInputs onclick 属性的分配没有执行。 我的问题是,您不能将$().click()
呼叫嵌套在另一个&().click()
调用中吗?
<script>
$(document).ready(function () {
$('#recordInput').click(function(event) {
var tempInput = $('#testInput').val();
&('#displayInput').click(function(event) {
console.log(tempInput);
});
});
});
</script>
我的想法是伪代码:
- 将记录输入单击时属性分配给以下函数:
- 存储临时输入
- 设置显示输入单击以提醒临时输入值
我的想法有什么问题?
注意:我没有包含任何 html 标签,但所有 id 都正确引用
它
不起作用,因为您在此处放置了&
而不是$
$('#displayInput').click(function(event) {
修复此问题可能有效,但不应以这种方式设置事件处理程序。因为每次调用第一个处理程序函数时,它都会为第二个处理程序设置一个事件处理程序。您可以尝试使用console.log
,您会发现每次单击console.log
的数量都在增加 #recordInput
.所以你最好这样设置它:
var tempInput;
$('#recordInput').click(function(event) {
tempInput = $('#testInput').val();
});
$('#displayInput').click(function(event) {
console.log(tempInput);
});
我会改变
$(document).ready(function () {
$('#recordInput').click(function(event) {
var tempInput = $('#testInput').val();
&('#displayInput').click(function(event) {
console.log(tempInput);
});
});
});
自
$(function(){
var testInput = '';
$('#recordInput').click(function(){
testInput = $('#testInput').val();
});
$('#displayInput').click(function(){
if(testInput !== ''){
console.log(testInput);
}
});
});
您使用的是&
而不是$
。当然,您不必像我一样格式化代码。
相关文章:
- 用嵌套函数和默认函数定义函数
- d3中堆栈函数和嵌套函数之间的差异
- JavaScript 中的嵌套函数和 “this” 关键字
- 嵌套到另一个函数中的Fancybox函数;不起作用
- Javascript中带有返回值的嵌套函数
- 访问嵌套函数结构中的JavaScript父函数变量
- 从嵌套函数访问函数属性
- 如何在javascript中使用嵌套函数作为生成器(使用“inner”yields)
- Javascript嵌套函数属性继承
- 具有嵌套对象数组的 Javascript 对象的递归搜索函数
- Facebook Javascript 函数嵌套循环
- 将动态 AJAX 函数嵌套在 JavaScript 函数中 - 并保持更新
- 对由多个groupBy函数嵌套的对象数组进行分组
- 从父函数返回什么以获取从子函数/嵌套函数返回的值
- jQuery匿名函数-嵌套函数
- ajax调用函数嵌套
- 函数嵌套括号的Python风格指南是什么?
- setTimeout函数中的关键字,该函数嵌套在on()方法下.但这并没有奏效
- 嵌套异步函数嵌套同步函数
- 如何克服函数嵌套