【问题标题】:how to assign return value of a javascript event function to a javascript variable如何将javascript事件函数的返回值分配给javascript变量
【发布时间】:2012-01-30 13:20:10
【问题描述】:

我正在开发 ruby​​ on rails 应用程序,我在其中调用 javascript 函数 onclick 事件并返回值。我想将该返回值分配给 javascript 变量预定义变量。 我的 javascript 函数如下所示:

function hideBrowser( var_i )
{
k=var_i+1;
$("#fileinput-button"+k).hide();
return var_i;
}

并且正在调用这样的函数:

'<div class="cancel" id="cancel'+i+'" onclick=i=(hideBrowser('+i+'))><button >Cancel</button></div>'

请帮我解决这个问题。

更新

我正在尝试一个应用程序,其中当用户浏览图像时,用户可以看到第一个浏览按钮,然后该图像应该显示在浏览按钮的位置,该浏览按钮是我使用 ajax-jquery 文件完成的图像预览ruby 中的上传器和另一个浏览器将对用户可见。当用户取消图像时,下一个浏览按钮应该消失并且预览应该再次计为以前的值。这就是为什么我尝试了这种方法并且一切正常,但我想将变量 i 值设置为前一个值。这不起作用,请帮助我。

以上所有代码都是用javascript文件编写的。

【问题讨论】:

  • 你在哪里需要这个?这不是一个好的解决方案
  • 在 Javascript 中初始化变量时,应使用 var 关键字,以免污染全局范围。例如,您的变量k 仅在hideBrowser 函数内部有用/必需,因此它不需要是全局的。您的 HTML 也可能不正确,您正在使用单引号做...某事...,但我不完全确定原因。此外,最好使用 jQuery 绑定事件处理程序,而不是使用 onclick 属性。

标签: javascript jquery ruby-on-rails-3 jquery-ui jquery-plugins


【解决方案1】:

我并没有完全从你的代码中得到。但请参阅下面的代码它正在工作。

希望对你有帮助。

<script>
function hideBrowser( var_i )
{

return var_i ;
}
</script>

<div class="cancel" id="cancel'+i+'" onclick='var i=hideBrowser(10); alert(i);'><button >Cancel</button></div> 

【讨论】:

    【解决方案2】:

    处理程序应该只返回真或假。如果可能,返回 false 会取消事件。事件发生异步,您不能将任何其他值返回给其他函数。但是,您可以做的是从您的事件处理程序中调用另一个函数并传入您想要的任何参数。

    【讨论】:

      猜你喜欢
      • 2023-03-06
      • 2021-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-04
      相关资源
      最近更新 更多