PDA

View Full Version : سوال: اختصاص دادن رویدادها در جاوا اسکریپت بدون نیاز به قرار دادن کدها در html



idocsidocs
چهارشنبه 26 مرداد 1390, 15:18 عصر
من می خوام کدهای جاوا اسکریپت رو از کدهای html به صورت کامل جدا کنم.

کدهای جاوا اسکریپت رو به شکل زیر تخصیص می دم ولی کدها اجرا نمی شن.

document.getElementById('div1').onclick = function() { MyShow1() };

اما کد زیر بدون مشکل اجرا می شه، لطفا بگید مشکل از کجاست؟

window.onload = function() { MyShow() };

hossin.esm
چهارشنبه 26 مرداد 1390, 17:32 عصر
سلام
یک مثال
index.htm

<div id="div1" style="background:#CCC;height:200px"></div>
<script src="sc.js" >
</script>


sc.js

window.onload=function(){
document.getElementById('div1').onclick = function() { MyShow1() };
function MyShow1()
{
alert("aaa");
}
}

idocsidocs
چهارشنبه 26 مرداد 1390, 18:09 عصر
سلام
یک مثال
index.htm

<div id="div1" style="background:#CCC;height:200px"></div>
<script src="sc.js" >
</script>
sc.js

window.onload=function(){
document.getElementById('div1').onclick = function() { MyShow1() };
function MyShow1()
{
alert("aaa");
}
}

کدهایی که دادید می شه گفت تو در تو هستن و کار رو کمی سخت می کنن، مخصوصا زمانی که تعداد زیادی تابع داشته باشیم.

به صورت زیر می شه از این کدها استفاده کرد؟

window.onload=function()
{
document.getElementById('div1').onclick = function() { MyShow1() };
}

function MyShow1()
{
alert("aaa");
}

منظورم اینه که تعریف تابع رو از window.onload خارج کنیم؟

سوال دیگه اینکه آیا این روش توی همه مرورگرها کار می کنه؟

idocsidocs
چهارشنبه 26 مرداد 1390, 18:11 عصر
سلام
یک مثال
index.htm

<div id="div1" style="background:#CCC;height:200px"></div>
<script src="sc.js" >
</script>
sc.js

window.onload=function(){
document.getElementById('div1').onclick = function() { MyShow1() };
function MyShow1()
{
alert("aaa");
}
}

کدهایی که دادید می شه گفت تو در تو هستن و کار رو کمی سخت می کنن، مخصوصا زمانی که تعداد زیادی تابع داشته باشیم.

به صورت زیر می شه از این کدها استفاده کرد؟

window.onload=function()
{
document.getElementById('div1').onclick = function() { MyShow1() };
}

function MyShow1()
{
alert("aaa");
}
منظورم اینه که تعریف تابع MyShow1 رو از window.onload خارج کنیم؟

سوال دیگه اینکه آیا این روش توی همه مرورگرها کار می کنه؟

hossin.esm
پنج شنبه 27 مرداد 1390, 00:00 صبح
به صورت زیر می شه از این کدها استفاده کرد؟

window.onload=function()
{
document.getElementById('div1').onclick = function() { MyShow1() };
}

function MyShow1()
{
alert("aaa");
}
منظورم اینه که تعریف تابع MyShow1 رو از window.onload خارج کنیم؟

فکر نکنم مشکلی پیش باید . من تو چند تا مرورگر تست کردم مشکلی نداشت البته مرورگر های ورژن بالا



سوال دیگه اینکه آیا این روش توی همه مرورگرها کار می کنه؟
من تو چند تا مرورگر تست کردم مشکلی نداشت البته مرورگر های ورژن بالا . اگر مرورگر ie6 دم دست دارید تست کنید