87,990
社区成员
发帖
与我相关
我的任务
分享
//$_custom.js
function $_custom(fun)
{
document.onreadystatechange = function()
{
if(document.readyState == "complete")
{
fun();
}
}
}
function $(val){
if(val.indexOf("#")==0)
{
var obj=document.getElementById(val.substring(1));
custom.call(obj);
return obj;
}
if(val.indexOf(".")==0)
{
var obj=document.getElementsByTagName("*");
for(var x in obj)
{
if(obj[x].className==val.substring(1))
{
custom.call(obj[x]);
return obj[x];
}
}
}
}
//函数自定义处理
var custom=function(){
this.css=function(param){
for(var key in param)
{
this.style[key]=param[key];
}
};
this.click=function(fun){
this.onclick=function()
{
fun();
}
};
this.blur=function(fun){
this.onblur=function()
{
fun();
}
};
this.focus=function(fun){
this.onfocus=function()
{
fun();
}
};
this.change=function(fun){
this.onchange=function()
{
fun();
}
};
this.mouseover=function(fun){
this.onmouseover=function()
{
fun();
}
};
this.mouseout=function(fun){
this.onmouseout=function()
{
fun();
}
};
//此处省略事件拓展
}
使用方法介绍
<script type="text/javascript" src="$_custom.js"></script>
<script type="text/javascript">
$_custom(function(){
$("#sp").css({"width":"250px","height":"250px","border":"1px solid green","background":"#333333"});
$(".sp2").mouseover(function(){
$(".sp2").css({"width":"450px","height":"250px","border":"1px solid green","background":"#333333"});
})
})
<div id="sp">test</div>
<div class="sp2">test</div>
<script type="text/javascript">
$_custom(function(){
$("#sp").click(function(){
alert('you click sp');
});
$("#sp2").click(function(){
alert('you click sp2');
if(document.all)
{
event.cancelBubble = true;
}
else
{
event.stopPropagation();
}
})
})
</script>
<div id="sp" style="width:100px;height:100px;border:1px solid red">
<div id="sp2" style="width:50px;height:50px;border:1px solid red"></div>
</div>
//$_custom.js
function $_custom(fun)
{
document.onreadystatechange = function()
{
if (document.readyState == "complete")
{
fun();
}
}
}
function $(val){
if(val.indexOf("#")==0)
{
var ob=new Array();
var obj=document.getElementById(val.substring(1));
ob.push(obj);
custom.call(ob);
return ob;
}
if(val.indexOf(".")==0)
{
var obj=document.getElementsByTagName("*");
var ob=new Array();
for(var x in obj)
{
if(obj[x].className==val.substring(1))
{
obj2=obj[x];
ob.push(obj2);
}
}
custom.call(ob);
return ob;
}
}
var custom=function(){
var actions=["click","blur","focus","mouseout","mouseover","change"];
//样式处理
this.css=function(param){
for(var i = 0;i < this.length;i++)
{
for(var key in param)
{
this[i].style[key]=param[key];
}
}
};
var _this=this;
//函数处理
(function(){
for(var k in actions){
var _o=actions[k];
_this[_o]= function(){
var _oo=_o;
return function(fun)
{
for(var i = 0;i < _this.length;i++)
{
_this[i]["on"+_oo]=function(event)
{
fun(event);
}
}
}
}(_o);
}
})(actions);
//还原javascript基本写法
this.revert=function(){
if(_this.length==1)
{
return _this[0];
}
else
{
alert('Does not support!');
console.log('Does not support!');
}
};
//模拟鼠标事件
this.similar=function(actions){
if(document.all) {
_this[0][actions];
}
else {
var e = document.createEvent("MouseEvents");
e.initMouseEvent(actions, true, true);
_this[0].dispatchEvent(e);
}
};
//绑定事件
this.bind=function(actions,fun){
if(document.all) {
for(var i = 0;i < _this.length;i++)
_this[i].attachEvent("on"+actions,function(){fun.call(_this[i])});
}else{
for(var i = 0;i < _this.length;i++)
_this[i].addEventListener(actions,fun);
}
}
}
<script type="text/javascript" src="$_custom.js"></script>
<script type="text/javascript">
$_custom(function(){
$("#sp").revert().style.cssText="width:100px;height:100px;border:1px solid red;";
$("#sp").revert().innerHTML="this is a test...";
</script>
<div id="sp">test</div>
$("#sp").click(function(){
alert('clicked');
})
$("#sp").similar("click");
//这样刚进入网页即运行点击事件了
$("#sp").bind("click",function(){
alert('you click');
})
$("#sp").click(function(){
alert(event.x);
})
//event参数可直接支持调用,不信试试吧




不懂了吧,看我的类库有一个什么特点,,就是高仿真jquery,so 一旦达不到项目需求,可以立刻加载jquery,而不必要改动任何javascript语句。。