In this study, we found that many metal ions could affect the antibacterial activity of chitosan, such as K+, Na+, Mg2+ and Ca2+. High concentration (about 0.5%) of metal ions could make chitosan completely lose its antibacterial activity, except for the effect of Na+ on the antibacterial activity against Staphylococcus aureus. We also found that chitosan could weaken the barrier function of the outer membrane of different microorganisms. Large amount of K+ and ATP leakages were observed during exposure of Staphylococcus aureus and Candida albicans to chitosan. Both 50kDa chitosan and 5kDa chitosan had good antibacterial activity against Staphylococcus aureus and Candida albicans, but the 50kDa chitosan could make nearly two to four times amount of K+ and ATP leakages than the 5kDa chitosan. There might have been different antibacterial mechanisms of high-molecular-weight and low-molecular-weight chitosan.