Javascript 根据事件的结果,分离事件以在其他函数中执行操作
感谢您抽出时间阅读此文章。我正在学习OOP、模块和构造函数,这些东西对我来说太先进了,所以我一直在努力写下面的代码 我正在尝试分离事件,以便根据从GetAmount返回的值执行函数addTwoNums和addThreeNums。我知道speek方法没有为此设置。你能做些什么来设置一些东西来修复它吗。我太迷路了Javascript 根据事件的结果,分离事件以在其他函数中执行操作,javascript,jquery,events,object,Javascript,Jquery,Events,Object,感谢您抽出时间阅读此文章。我正在学习OOP、模块和构造函数,这些东西对我来说太先进了,所以我一直在努力写下面的代码 我正在尝试分离事件,以便根据从GetAmount返回的值执行函数addTwoNums和addThreeNums。我知道speek方法没有为此设置。你能做些什么来设置一些东西来修复它吗。我太迷路了 $(document).ready(function(){ $emitter = $({}) console.log($emitter); $("#amountItems").on('c
$(document).ready(function(){
$emitter = $({})
console.log($emitter);
$("#amountItems").on('change', function(){
var amountchosen = $("#amountItems option:selected").val();
$emitter.trigger("amountUpdate", amountchosen);
});
var GetAmount = (function(){
this.mode = "";
$emitter.on("amountUpdate", function(e, val){
if(val == 2){
alert(2)
this.mode = 'addTWoNumbers'
}else if(val == 3){
alert(3)
this.mode = 'addThreeNumbers'
}else if(val== 4){
alert(4)
this.mode = 'addFourNumbers'
}
})
return {
speek : function(){
console.log(this.mode);
}
}
})();
// I think these methods should be apart of a module
function addTwoNums(){
GetAmount.speek(); //I guess i could instantiate an object
//here like (if (twonumbers = new GetAmount())) it should return addTWoNumbers
//so now i could do operation pertaining to 2 numbers
//do some function when 2 is chosen
}
function addThreeNums(){
//do some function when 3 is chosen
}
});
另外,我从另一个来源获得了$emitter=${}部分,但我想了解它的工作原理。因为哪里把$emitter变成空的
这意味着我们可以将它用于某种类型的占位符来触发事件。它就像我们制作一个对象只是为了对其执行操作,但它不包含任何内容
我知道这些概念来自于pub/sub类型的模式。我想我正在尝试制作一个pub/sub
HTML:
语法错误是什么?您不应该有:after return。@Barmar Aha当然:-。
<div class="select labelOuter">
<!-- <p>How many Items would you like to add</p> -->
<select name="" id="amountItems" data-chosen ="0">
<option selected default disabled value="">Amount of items</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</div>