【问题标题】:Problems with global variable Javascript and jQuery全局变量 Javascript 和 jQuery 的问题
【发布时间】:2014-12-13 21:18:20
【问题描述】:

所以当你按下例如“1”然后单击鼠标以发送光标位置时,我正在尝试制作脚本,但我遇到了全局变量和函数的问题,即mXmY

$('#A').on("mousemove", function (e) {  mX = e.pageX });
$('#A').on("mousemove", function (e) {  mY = e.pageY });
...
else if (code == 49) {f(vX, vY, mX, mY);}
...
function f(vX, vY, mX, mY) {
$('#A').click(function (e) {
    var dX = Math.abs(vX - mX); <<< Here is the problem the mX is not defined
    var dY = Math.abs(vY - mY);
});

问题行我写为&lt;&lt;&lt; 我想不出如何解决它,我已将函数中的变量设置为全局变量。

不要关注codevXvY 这些变量工作正常!

【问题讨论】:

  • 您意识到您可以在点击处理程序中获得pageXpageY 吗?
  • 哦,伙计,有很多代码要一起工作,我明天会做,现在我做不到,对不起
  • 哦,看来我很傻,我明天试试,谢谢大佬

标签: javascript jquery global-variables mouseevent


【解决方案1】:

请参考 How to pass argument to a jquery function through an onClick event?

function f(vX, vY, mX, mY) {
    $('#A').click({mX:mX, mY:mY}, function (e) {
        var dX = Math.abs(vX - e.data.mX);
        var dY = Math.abs(vY - e.data.mY);
    });

希望对你有好处

再见

【讨论】:

  • 我想这还不够好,因为事件处理程序只能访问mXmY 在处理程序被绑定时拥有的值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-16
  • 2021-11-17
  • 2021-03-29
  • 1970-01-01
相关资源
最近更新 更多