Javascript 扩展每个html元素
使用x-tag,我试图找到一种方法来扩展我放入的每个html元素Javascript 扩展每个html元素,javascript,custom-element,x-tag,Javascript,Custom Element,X Tag,使用x-tag,我试图找到一种方法来扩展我放入的每个html元素是:“ajaxpop”属性 我想做的是,当我单击一个具有is:“ajaxpop”属性的元素时,我将执行一些动态ajax加载。这将是我开发一个可管理系统的良好起点 我知道我可以用一些不同的方法来做,但我想知道有没有一种方法可以像这样做:“每一个原生html元素” xtag.register('ajax-pop', { extends: 'WHAT SHOULD I WRITE HERE???', lifecycle
是:“ajaxpop”
属性
我想做的是,当我单击一个具有is:“ajaxpop”属性的元素时,我将执行一些动态ajax加载。这将是我开发一个可管理系统的良好起点
我知道我可以用一些不同的方法来做,但我想知道有没有一种方法可以像这样做:“每一个原生html元素”
xtag.register('ajax-pop', {
extends: 'WHAT SHOULD I WRITE HERE???',
lifecycle: {
created: function () {
},
inserted: function () {
},
removed: function () { },
attributeChanged: function () { }
},
methods: {
someMethod: function () { }
},
accessors: {
popUrp: {
attribute: {
name: "pop-url"
}
},
},
events: {
tap: function () { },
focus: function () { }
}
});
我相信你用错了x标签。X-tag旨在实现全新的标签;您试图做的只是修改不同的预先存在的DOM元素。这可以在纯javascript中轻松完成,或者在jquery中更轻松地通过为每个所需元素分配一个共享类来完成。类型扩展必须逐个元素定义。单个自定义图元不能扩展多个标准图元。 例如,每个自定义元素都拥有自己的原型,不能重用 如果要扩展按钮(例如),必须使用JavaScript编写:
xtag.register('ajax-pop', {
extends: 'button',
...
在HTML页面中:
<button is="ajax-pop">
...
...
您可以使用x-tag的委托
伪,并通过向希望具有此行为的元素添加数据-
属性来完成此操作:
我认为x-tag、polymer和web组件系统不仅仅是为了创建新的标签。它是关于创建可维护和可重用的组件或扩展它们的。当您需要扩展标记I know alrady:)时,这是一个解决方案。我需要一些扩展字符串名称,将应用于多个元素。或者至少我需要扩展多个html元素的知识。谢谢你的回答。我想知道是否有一个基本原型(我知道有)并扩展它:D:DIt不是你扩展的原型,而是HTML元素。并且不能使用相同的cutom名称扩展两个不同的元素。:-/。您必须为扩展的每个元素提供一个新的自定义名称。是的,我想我将使用旧的行为,或者我将只放置一些查找其他元素的元素,如jquery逻辑。
xtag.addEvent(document.body, 'tap:delegate([data-pop])', function (e) {
var uri = this.getAttribute('data-pop');
$.get(uri).done(function (res) {
this.innerHTML = res;
}.bind(this));
});