ios - onClick 不适用于 Appcelerator Alloy 应用程序中的 SVG iOS

标签 ios svg appcelerator appcelerator-titanium appcelerator-alloy

我正在使用此小部件在我的钛合金应用程序中显示 SVG:

https://github.com/appcelerator-services/VectorImage

SVG 显示得很好,但是当我在 iOS 上点击 SVG 时不会触发 onClick 事件。 Onclick 确实适用于 Android。我尝试将 onClick 应用于小部件本身以及将其应用于包含元素。我可以点击包含的元素,但不能点击 SVG。

<View class="dashboardGridCell" onClick="goToPayBill">
    <View class="dashboardIcon">
        <Widget class="dashboardIconSvg" src="com.capnajax.vectorimage" svg="svg/circle-check.svg" style="svg/white-fill.css" onClick="goToPayBill"/>
    </View>
    <Label class="dashboardIconLabel">Pay Bill</Label>
</View>

是否有更好的小部件来显示 SVG,或者我在应用 onclick 时做错了什么?

最佳答案

Widget 不支持 XML 中的 onClick 处理程序,因为它们不是标准的 Titanium Proxy 对象,它们可以是其创建者定义的任何内容。另外,现在即使指定了 onClick 属性,我们也不会评估您作为函数传入的 onClick 参数。

要在小部件上设置点击事件,您需要在 javaScript 中执行此操作(因此您需要给它一个 ID)

在您的 XML 中将其更改为如下内容:

<Widget id="dashboardIcon" class="dashboardIconSvg" src="com.capnajax.vectorimage" svg="svg/circle-check.svg" style="svg/white-fill.css" onClick="goToPayBill"/>

然后在您的 javaScript 中您应该能够执行此操作(根据我查看小部件源代码所知道的内容)。

$.dashboardIcon.getView().addEventListener('click', function(){ alert("It Works"});

希望这对您有所帮助!

关于ios - onClick 不适用于 Appcelerator Alloy 应用程序中的 SVG iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35365996/

相关文章:

ios - 如何将代码注入(inject) iOS 进程

css - 创意 SVG 蒙版

html - 在 SVG 标题标签中添加换行符

ios - 在联系人详细信息窗口中选择电子邮件属性后显示邮件编辑器时,Titanium 应用程序崩溃

ios - 添加为 UIImageView 的 subview 时 View 被翻转

iphone - 如何在 iTunes connect 中测试我的 inapppurchase

appcelerator - 触摸并按住后禁用点击事件

android - 键盘不会在窗口加载时隐藏

objective-c - 如何创建可变函数? (可以接受任意数量的参数)

javascript - js中的鼠标悬停引发未定义的错误