Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 执行存储为变量名的jquery函数_Javascript_Php_Jquery - Fatal编程技术网

Javascript 执行存储为变量名的jquery函数

Javascript 执行存储为变量名的jquery函数,javascript,php,jquery,Javascript,Php,Jquery,我正在努力弄清楚如何在jQuery中调用/执行函数。我已经做了相当多的搜索,找到了看起来应该是答案的东西,但它似乎不起作用。我认为这是一个范围问题,因为其他一切似乎都与我在这里找到的示例相匹配,但我对jQuery比较陌生,不能完全理解它 基本上,当单击“书签”按钮时,它使用ajax在数据库中创建一个条目,并更改所单击按钮的格式。这是意料之中的事。诀窍是这需要有人登录。实际点击按钮会在url中添加一个#bookmarkme锚-如果他们没有登录(这就是我开始感到棘手的地方),会弹出登录窗口,提示他们

我正在努力弄清楚如何在jQuery中调用/执行函数。我已经做了相当多的搜索,找到了看起来应该是答案的东西,但它似乎不起作用。我认为这是一个范围问题,因为其他一切似乎都与我在这里找到的示例相匹配,但我对jQuery比较陌生,不能完全理解它

基本上,当单击“书签”按钮时,它使用ajax在数据库中创建一个条目,并更改所单击按钮的格式。这是意料之中的事。诀窍是这需要有人登录。实际点击按钮会在url中添加一个#bookmarkme锚-如果他们没有登录(这就是我开始感到棘手的地方),会弹出登录窗口,提示他们注册/登录,页面会重新加载以正确设置所有登录变量。这也如预期的那样起作用。一旦用户登录并重新加载页面,我就无法运行“书签功能”

非常感谢您对查找我的问题(范围、方法或其他)的任何帮助

“我需要脚本执行与当页面重新加载并具有锚定书签时单击书签按钮(ID=bookmark)时相同的操作”

这会满足你的要求^

$('#bookmarkme').trigger('click');
$(“#书签”)。单击()。应该有用

请记住,对jQuery对象调用jQuery方法将返回原始jQuery对象。如果你说:

var bookmark=$('#bookmark')
然后将bookmark设置为jQuery对象(该对象包含id=bookmark元素作为属性)

如果将方法附着到对象,如下所示:

var bookmark=$('#bookmark').click(function(){console.log('You clicked!')})
然后,是的,当您单击带有id bookmark的元素时,它现在将调用此事件,但是jquery对象上的click方法将返回原始jquery对象。这意味着bookmark仍然等于
$(“#bookmark”)
,而不是
click
方法中的函数

总之,当您将事件附加到jquery对象时,如单击或悬停,它会进入dom并附加事件,然后返回原始jquery对象。这样,您可以执行以下操作:

var bookmark=$("#bookmark").click(function(){console.log("you clicked")}).mouseover(function(){console.log("you moused over")})

你可以一直附加事件,
bookmark
总是等于
$(“#bookmark”)

我不知道你为什么把它弄得这么复杂<代码>书签功能
不是一个功能。。。这是一个jQuery对象…
bookmarkFunction.click()
@epascarello-我需要脚本采取与我在页面重新加载并具有锚定#bookmarkme或单击ID时单击书签按钮(ID=bookmark)时相同的操作。点击触发很容易,但如果锚存在,我无法在重新加载时触发。而
bookmark函数。click()
正是这样做的…谢谢,工作完全符合我的要求,只需将ID稍微修改为#bookmark,我就可以使用锚定bookmark me,它不引用任何元素,因此不会自动滚动到任何地方。我感谢你的帮助!
var bookmark=$('#bookmark').click(function(){console.log('You clicked!')})
var bookmark=$("#bookmark").click(function(){console.log("you clicked")}).mouseover(function(){console.log("you moused over")})