如何根据变量指定是否可以调用事件侦听器
How to specify whether event listeners can be called or not depending on a variable?
我有一个变量,它被分配了一个依赖于数据库中表中值的值。如何使用此变量来指定某些事件侦听器是否处于活动状态以及指定是否显示特定链接。
例如,我尝试过,但没有成功工作:
var accessLevel = 0;
var userLoggedIn = "<?php Print($userLoggedIn); ?>";
var userlevel = "<?php Print($userLevel); ?>";
function map_initialize()
{
////CONCERNING THIS PART#########///
if (accessLevel >= 2){ //WHEN LOADED THIS IS NOT REGISTERING ANY RIGHT CLICK EVEN WHEN accessLevel is over 2!
google.maps.event.addListener(map, 'rightclick', function(event) {
//Some function that I don't want to run if accessLevel is <2
});
}
}
////THIS WORKS FINE BELOW JUST PROVIDING IT
if (userLoggedIn == true) {
if (userlevel == "0") {
accessLevel = 0;
console.log(accessLevel);
}
else if (userlevel == "1") {
accessLevel = 1;
console.log(accessLevel);
}
else if (userlevel == "2"){
accessLevel = 2;
console.log(accessLevel);
}
else if (userlevel == "3"){
accessLevel = 3;
console.log(accessLevel);
}
else if (userlevel == "4"){
accessLevel = 4;
console.log(accessLevel);
}
}
我不知道这是否有意义,但基本上我希望能够根据accessLevel
的值过滤某些可用的函数。这可能吗(特别是与谷歌地图元素一起使用),以及我该如何做到。
您应该在示例代码的第十三行中将)};
更改为});
。
还将userLoggedIn == true
更改为类似的内容
userLoggedIn.toLowerCase().trim() === "true"
假设$userLevel
的可能值为TRUE
、FALSE
、true
、false
解决了这个问题,我所要做的就是交换if statement
的位置,使其也在点击事件侦听器中。
function map_initialize()
{
google.maps.event.addListener(map, 'rightclick', function(event) {
if (accessLevel >= 2){
//Some function that I don't want to run if accessLevel is <2
}
});
}
相关文章:
- angularjs调用事件中控制器的一个函数
- CSS + jQ插件阻止AJAX调用/事件侦听器工作
- 如何使用webbrower对象中的脚本调用C#事件
- API Google Maps Javascript在上下文菜单中调用事件侦听器
- 调用事件处理程序oop内部的函数
- 砖石事件:在图像加载和布局完成后调用事件
- jwplayer在80%的视频上调用事件
- 显示和隐藏上下文菜单时的 Jstree 调用事件
- 如何只调用一次事件处理程序,而不是每次单击项目时调用事件处理程序
- 调用事件侦听器 - 两种方式之一起作用,有什么区别
- 在页面加载时调用函数,而不是在单击时调用事件
- jQuery 动态调用事件侦听器
- 在模块化 JavaScript 中调用事件
- 在Bootstrap面板展开中调用事件
- 如何根据变量指定是否可以调用事件侦听器
- 调用事件中带有参数的函数
- SelectAll不调用事件处理程序
- 可以以编程方式调用事件处理程序吗?
- JS中的函数调用事件
- Ionic 2:调用事件同时订阅和取消订阅