想知道是否有这样做的好方法,以为我会发布到SO社区......
有一个第三方网页,我无法控制它如何呈现,但它们允许我添加JQuery.
使用JQuery,我在页面的侧面创建一个导航菜单,它将是一个链接列表.我从页面上现有的onclick事件中获得这些链接的onclick事件,但是当我这样做时:
var linkLoc = $('#theLink').attr("onclick");
Run Code Online (Sandbox Code Playgroud)
linkLoc返回:
function onclick(event) {
handleJumpTo("com.webridge.entity.Entity[OID[E471CB74A9857542804C7AC56B1F41FB]]", "smartform");
}
Run Code Online (Sandbox Code Playgroud)
而不是我期望的:
handleJumpTo("com.webridge.entity.Entity[OID[E471CB74A9857542804C7AC56B1F41FB]]", smartform");
Run Code Online (Sandbox Code Playgroud)
我认为JQuery正试图获取绑定事件,但我需要实际的Javascript标记,因为我正在动态创建HTML.我想我可以将"函数onclick(event){"排除在外,但看起来有点像hacky.
我可以通过优雅的方式获得onclick标记吗?
的类型$('#theLink').attr("onclick")是一个函数,因此您可以在将事件绑定到链接时使用它。
var linkLoc = $('#theLink').attr("onclick");
$('a#link1').live('click', linkLoc);
Run Code Online (Sandbox Code Playgroud)
示例: http: //jsfiddle.net/BdU6f/
如果需要,您还可以在点击处理程序中运行其他代码:
var linkLoc = $('#theLink').attr("onclick");
$('a#link1').live('click', function(e){
// Code...
linkLoc(e);
});
Run Code Online (Sandbox Code Playgroud)
示例: http: //jsfiddle.net/BdU6f/1/
| 归档时间: |
|
| 查看次数: |
22092 次 |
| 最近记录: |