【问题标题】:jquery javascript this function is not callingjquery javascript这个函数没有调用
【发布时间】:2014-04-22 11:29:47
【问题描述】:

我有这个java脚本函数:

function copyToClipboardCrossbrowser2(text) {
    alert(text);
    $('#Button1').zclip({
        path: '/js/ZeroClipboard.swf',
        copy: text
    });
}

当我制作 path: js/ZeroClipboard.swf 时,谷歌浏览器告诉我这个文件不存在。但是当我输入/ 时,它并没有告诉我它不起作用。这样 swf 就安装好了。

alter 正在打印正确的值。但副本不起作用。

为什么?

我已经包含了这些:

 <script type="text/javascript" src="/js/jquery.js"></script>
    <script type="text/javascript" src="/js/jquery.zclip.js"></script>

注意

在另一个项目中,我正在使用这个库,这意味着我的 Flash 播放器正在工作

这是 ID 为 Button 的按钮的 html

<button type="button" id="Button1" class="copyToBtn" onclick="copyToClipboardCrossbrowser2('00971509396782',this);" title="Copy">
                                Copy Phone Number</button>

我正在使用 asp.net 这是按钮的代码

<button type="button" id="Button1" class="copyToBtn" type="button" onclick="copyToClipboardCrossbrowser2('<%#Eval("Telephone")%>',this);"
                                title="Copy">
                                Copy Phone Number</button>

id 没有改变,这就是我给你 html 的原因

【问题讨论】:

  • 参数与方法不匹配
  • @SomnathKharat 我知道,好消息是警报正在工作。但是,我删除了this,它是一样的
  • @SomnathKharat 请帮忙
  • zclip 已经绑定了对给定 ID 的点击。你在上面写了一个点击事件
  • @susheel 那我该怎么办?

标签: javascript jquery asp.net zeroclipboard


【解决方案1】:

js 小提琴:

http://jsfiddle.net/6HPuC/

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script src="http://cdnjs.cloudflare.com/ajax/libs/zclip/1.1.2/jquery.zclip.min.js"></script>
    <title>Test</title>
</head>        
<script>
    $(function() {
        $("#Button1").zclip({
            path: 'http://cdnjs.cloudflare.com/ajax/libs/zclip/1.1.2/ZeroClipboard.swf',
            copy: function() {
                return $(this).data("copy");
            }
        });
    });
</script>
</head>
<body>
<button type="button" data-copy="<%#Eval('Telephone')%>" id="Button1" class="copyToBtn" title="Copy">Copy Phone Number</button>
</body>
</html>

【讨论】:

  • 我确实在这样做。我不知道为什么它不在这个项目上工作。虽然它正在另一个项目上工作。请问你能不能访问我的电脑 2 分钟来检查你的自我
  • 在 jquery.zclip.js 中有这一行` if (typeof params == "object" && !params.length) {` 它变成true。这是正确的还是应该变成false
  • 使用团队查看器。这是一个小应用程序,您可以安装然后访问我的电脑
  • 我知道teamviewer,但我在办公室..teamviewer 是不允许的。
  • 请问您什么时候可以回家访问?
【解决方案2】:

在您的代码中,您使用了按钮单击事件来将 zClip 与错误的按钮绑定。 当您将 ZClip 附加到按钮时,它将自动处理 OnClick 事件,无需编写按钮事件

以下是修改后的代码

 <script type="text/javascript">
    $(document).ready(function () {
        $('#Button1').zclip({
            path: '/js/ZeroClipboard.swf',
            copy: $('#Button1').attr('data-copy')
        });        
    });

</script>

按钮事件如下:

<button type="button" id="Button1" class="copyToBtn" data-copy="<%#Eval('Telephone')%>" title="Copy">
            Copy Phone Number</button>

【讨论】:

  • 我的按钮在列表视图中。当我在列表视图之外制作一个按钮时,它工作正常。但是当我将按钮放在列表视图中时它停止工作
  • 这是因为当您将任何控件放入数据控制器时,它的 id 将呈现不同的方式,如“CPH_Button1”。您可以通过检查元素来查看按钮 ID。
  • 我的朋友,我知道这些事情,这就是为什么我告诉你(粗体)id 没有改变。我在 chrome 工具 f12 中检查了这一点
  • 数据属性无效。我们可以使用 data-* 而不仅仅是 data.(HTML5)
  • 感谢 susheel 的纠正。 @Simeoni Peraparota 这是一些有线行为。如果您提供完整的代码会更好。
猜你喜欢
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
  • 2011-12-30
  • 2018-02-10
  • 1970-01-01
  • 2023-03-25
相关资源
最近更新 更多