此处将为大家介绍关于javascript–ExtJS4LinkButton组件的详细内容,并且为您解答有关linkbutton控件的相关问题,此外,我们还将为您介绍关于<script>中t
此处将为大家介绍关于javascript – ExtJS4 LinkButton组件的详细内容,并且为您解答有关linkbutton控件的相关问题,此外,我们还将为您介绍关于<script>中text/javascript和application/javascript两个不同属性的区别、ASP.NET LinkButton – 如何隐藏javascript_doPostBack?、ASP.NET:asp:禁用Javascript的LinkButton?、button没写type=button会导致点击时提交_javascript技巧的有用信息。
本文目录一览:- javascript – ExtJS4 LinkButton组件(linkbutton控件)
- <script>中text/javascript和application/javascript两个不同属性的区别
- ASP.NET LinkButton – 如何隐藏javascript_doPostBack?
- ASP.NET:asp:禁用Javascript的LinkButton?
- button没写type=button会导致点击时提交_javascript技巧
javascript – ExtJS4 LinkButton组件(linkbutton控件)
我正在尝试在Ext JS 4中创建自己的LinkButton组件.没什么新鲜的,对吧?
我的代码看起来像这样:
Ext.define(''LinkButton'', {
extend: ''Ext.Component'',
xtype: ''linkbutton'',
autoEl: ''a'',
renderTpl: ''<a href=\"javascript:;\">{text}</a>'',
config: {
text: '''',
handler: function () { }
},
initComponent: function () {
var me = this;
me.callParent(arguments);
this.renderData = {
text: this.getText()
};
var handler = me.getHandler();
if (handler) {
me.on(''click'', handler);
}
}
});
到现在为止还挺好!我的LinkButton看起来像一个超链接和我的文本内容.优美.
但是,当我点击它时,我无法让我的组件触发事件!
这个特殊的行me.on(‘click’,handler);不管用!即使我从on更改为addListener它也没有效果.
所以问题是:如何将DOM事件添加到我的组件中?或者,更好的是,如何访问我自己的组件的DOM元素?我无法做到这一点!
谢谢!
解决方法:
这是我的命题,它基于Button组件的源代码:
Ext.define(''LinkButton'', {
extend: ''Ext.Component'',
xtype: ''linkbutton'',
autoEl: ''a'',
renderTpl: ''<a href=\"javascript:;\" id="{id}-btnEl">{text}</a>'',
config: {
text: '''',
handler: function () { }
},
initComponent: function () {
var me = this;
me.callParent(arguments);
this.renderData = {
text: this.getText()
};
},
onRender: function(ct, position) {
var me = this,
btn;
me.addChildEls(''btnEl'');
me.callParent(arguments);
btn = me.btnEl;
me.mon(btn, ''click'', me.onClick, me);
},
onClick: function(e) {
var me = this;
if (me.preventDefault || (me.disabled && me.getHref()) && e) {
e.preventDefault();
}
if (e.button !== 0) {
return;
}
if (!me.disabled) {
me.fireHandler(e);
}
},
fireHandler: function(e){
var me = this,
handler = me.handler;
me.fireEvent(''click'', me, e);
if (handler) {
handler.call(me.scope || me, me, e);
}
}
});
工作样本:http://jsfiddle.net/lolo/AEwH4/1/
总结
以上是小编为你收集整理的javascript – ExtJS4 LinkButton组件全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
原文地址:https://codeday.me/bug/20190902/1790598.html
<script>中text/javascript和application/javascript两个不同属性的区别
如题。
我最近在做的一个项目里面遇到一个小问题。就是我写在<script>标签中的javascript语句,在chrome,safari,firefox,IE9.10.11上面都可以正常运行,但是到了IE8以下的浏览器就无法运行了。
一开始以为是我的语句里面有一些兼容性问题,于是我又单独写了个例子去运行,同样的javascript代码在各个浏览器中都成功运行,可是到了我的项目中就是运行不了。
偶然之中,我瞥见我的<script>标签是这样子写的:
<script type="application/javascript"> //执行语句 </script>
这是书写的时候Dreamweaver自动补全的。
但是在我自己运行的例子中我的script标签写的是:
<script type="text/javascript"> //执行语句 </script>
于是,我将我项目中的标签type属性修改成了text-javascript,然后,然后在IE8一下就可以运行了。
下面补充一下关于这个属性的一些知识:
最实用的用法,现在各大浏览器已经都基本上支持了HTML5,HTML5中我们已经可以直接使用<script></script>而不需要制定script标签的type属性了。
根据内核属性,我们将浏览器分为四类:IE6/7/8/9/10/11,firefox, chrome/safari, opera.
如果需要在script标签中添加type属性,一般type有下面几种:
1.text/javascript:这是目前来说次于<script></script>标签的最合适的type属性
2.application/javascript:这个属性亲测在IE8以下的浏览器中无法被识别。
3.language="javascript":这个标签是W3C的HTML标准,但是目前已经不再推荐使用。
4. text/ecmascript:少用
5. text/jscript:少用
6.text/vbscript:少用
ASP.NET LinkButton – 如何隐藏javascript_doPostBack?
<asp:LinkButton ID="cartLink" runat="server" Text="<b>Add to Cart</b>" ToolTip="Add to cart" CommandName="Add" CommandArgument='<%# Eval("ProductID") %>' />
查看来源:
<a id="ContentPlaceHolder1_productsList_cartLink_0" title="Add to cart" href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$productsList$ctrl0$cartLink','')"> <b>Add to Cart</b></a>
当鼠标悬停在LinkButton上时,我不会丢失显示在浏览器底部的丑陋的“javascript_doPostBack(…)”链接状态消息.
有可能抑制这个吗?
更新05-11-2011:
我意识到这是默认行为,大多数时候我几乎没有注意到它.但是,当状态栏未显示时(默认情况下),这只是IE9中的问题.有人知道一个工作黑客来解决这个问题吗?
解决方法
<asp:LinkButton ID="cartLink" onMouSEOver="JavaScript:window.status='Yo,I'm the Javascript status text!'; return true" onMouSEOut="JavaScript:window.status=''; return true" runat="server" Text="<b>Add to Cart</b>" ToolTip="Add to cart" CommandName="Add" CommandArgument='<%# Eval("JOBProductIDName") %>' />
有关详细信息,请参阅this page.
ASP.NET:asp:禁用Javascript的LinkButton?
但是Web服务器似乎无法检测到客户端上是否禁用了javascript,并且没有呈现为仍然有效的机制.
是否有可能有一个看起来像链接,但有服务器端OnClick事件处理程序的链接?
回答
答案是否定的,但下面是一些解决方法的想法.接受了非零向上投票的那个.
解决方法
编辑:我觉得有必要完成我的答案,因为它已被接受.
asp:LinkButton呈现为HTML链接,因此无法发布到网页;但只能提出请求.要解决此问题,请使用JavaScript来操作帖子.但是,如果禁用Javascript,则无法执行此操作.
asp:Button和asp:ImageButton是不同的.他们通过使用真正的HTML表单元素发布到网页(或取决于表单属性)来提交HTML表单.所以这些都可以在没有JS干预的情
一些浏览器将允许CSS样式将按钮设置为看起来像链接,因此这可以用于解决该问题.
button没写type=button会导致点击时提交_javascript技巧
有个地方很奇怪:点击了一个弹窗中的按钮,没想到弹窗消失了,经公司的js高手调试,发现了其中的奥秘
加一个type ="button" 就好了: